㈠ c语言的变量名
变量名不占空间
变量:用来标识(identify)一块内存区域,这块区域的值一般是可以更改的,这就是它“变”的由来,但是我们可以通过使用如const等一些修饰符号来限定这一内存区域的操作特性(characteristic),即变量的操作特性。用const修饰的使变量不能更改的就和常量一样的变量叫做常变量。
变量名:是一个标识符(identifier),用来指代一块内存区域,即变量,使用变量使我们操作内存以区域(area),以块(block)为单位,提高了方便性。
你的机器代码中,是不会出现变量名的;变量名是给我们程序员操作内存来使用的。
想想在汇编年代,没有变量名,我们操作内存,都是用地址来直接操作的,还要控制区域大小;当然汇编语言已经有了简单的变量。
对于编译器,它会搜集我们的变量名,比如我们定义了一个全局的int a;那么编译器都为我们做了什么呢?
它会为程序预留4个字节的空间(假设在32位平台),并把我们的变量名“a”保存进符号表,并用这个符号表的索引对应实际的空间。
如果下面出现b = a;那么它就会根据符号表找到变量的真正的物理位置,取得它的值,赋给b。
这是写编译器需要做的,我们需要建立符号表。
但是实际在汇编层次上,操作的都是地址而已,不存在任何名称了。
㈡ C语言 变量存放另一个变量的变量名
C语言又不是解释执行程序,在经过编译连接之后,没有变量名,只有地址。 你既然能在xml中解析变量名,那就可以可以把变量名转换为序号,变量可以放在数组中,然后用序号去对应变量不就行了
㈢ 变量命名规则
变量名的命名主要三个规则:只能由字母、数字、以及下划线组成,第一个字符必须是英文字母;有效长度为255个字母;不可以包含标点符号和类型说明符。
变量名首字母必须为字母,下划线,或者美元符号开始,编程中所有变量必须以美元符号开始。(有些编译器已经支持中文变量名了)变量名只能是字母,数字(0-9),下划线的组合,并且之间不能包含空格,数字不能放在变量名首位。变量名不能使用编程语言的保留字。
因为变量名区分大小写,所以可以在字母大小写中任意组合。实际上,使用汉语命名变量名的话,也是可以的。但是在真正编程中,都是习惯使用英语字母进行命名。
变量名是什么
变量代表了一个存储单元,其中的值是可变的,故称为变量。变量名、常量名、函数名、数组名等等,都是为了区分程序中不同的实体、人为起定的名字。通常把这些名字叫做标识符。
标识符的`命名规则如下:标识符可由三类字符:字母、下划线、数字组成;标识符只能由字母或下划线开头;标识符不能具有二义性;标识符有长度要求,在起定的名字中!超出长度规定的部分将被截掉。
㈣ 问一下各位,c语言编译器是如何处理变量名的呢
编译器编译到int a;时就在内存中开辟一个两字节的内存空间,并且命名为a
㈤ 编译器对c语言中变量名怎么编译
对于变量名,会根据变量类型
开辟不同大小的内存空间
然后指定一个相对地址记录下来。
对于编译后, 不存在变量名,只有对应的相对地址。
㈥ java中怎样获取变量名(主函数中定义的);
对于局部变量是不可能的,因为变量名不是程序运行的必要部分,变量名在编译的时候就去除了。
对于成员变量,可以参见[1],使用Fields.getName() 获取
在编译Java的时候加上-g选项可以保留变量名,但这只用于调试。关键看你怎么用这个“变量名”了.如果你的情况和[2]一样,不妨编程的时候换个思路。
[1]http://java.sun.com/javase/6/docs/api/java/lang/reflect/Field.html
[2]http://www.velocityreviews.com/forums/t131824-get-variables-name-on-runtime.html
㈦ C语言变量的名称是怎么存在的,在内存中么
编写C语言源程序时可以理解成通过变量名访问值,但程序必须编译成可执行的二进制文件方能运行,这时都是对内存进行存取,已不存在变量名了。
㈧ c语言的变量名
在C中定义了一个变量,它会有一个变量名
当编译程序扫描到这条定义变量的表达式后,
会根据定义的类型,在内存中会分配相应的空间给这个变量名对应的变量,比如int一般为2字节,float一般是4字节等等。。。
变量名依然存在。变量就好像是一个房间,里面的东西是变量的值,房间的牌号是地址,该地址保存在指针中。
指针用于保存地址,要操作地址,即使使用指针。在使用指针前,必须对指针进行初始化。如下:
int
*p;
int
a=5;
p=&a;
可以通过p指针来控制a
的取值。printf("%d",*p);输出a的值。
c语言的数组名可以看作是一个指针,不过该指针为常指针。
程序运行时,只是个给变量分配内存空间,就好给你一个房子,然后再在里面放东西,也就是给变量赋值。变量有地址,该地址就好像贴在房门上,可将这些地址保存在指针中。。。。。
㈨ 变量名会被编译吗
对于变量名,会根据变量类型 开辟不同大小的内存空间 然后个相对地址记录下来。 对于编译后, 不存在变量名,只有对应的相对地址。
㈩ vb编译 中 变量的名字长短 是否影响内存的占用
完全一样,变量名称只是用于看代码方便,编译之后,变量名称就不存在了,代之以具体的数据区地址,exe文件一般情况下分为代码区和数据区,代码区是只读的,数据区可读写。