首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

变量示意内存空间还是表示内存空间中数据的大小?

2012-09-03 
变量表示内存空间还是表示内存空间中数据的大小???int aa表示4个字节的内存空间还是表示系统分配的4个字

变量表示内存空间还是表示内存空间中数据的大小???
int a; a表示4个字节的内存空间还是表示系统分配的4个字节内存空间中数据的大小啊????? 第一种理解:int a; a表示4个空间的内存空间,那么a=4,就是把4个二进制码放到a这个空间里。 第二种 理解:int a; 系统分配了4个字节的空间,a表示这个空间中数据的大小。a=4;就是把内存中a的大小赋为 4;感觉都说的通!!! 那个a到底是表示内存空间还是数据大小啊????? 越琢磨越崩溃...........

[解决办法]
int a, 是代表那段4字节内存存储的内容.
*a,是代表a的内存起始地址
&a,是指把某一段内存的起始地址赋给a
[解决办法]
int a;
定义一个变量.
这个变量的类型是int;
这个变量没有初始化.
这个变量的存储隐式地约束了.
这个变量的名字是a,通过a来操作这个变量.
由于变量的类型是int,于是占的空间的大小是sizeof(int);

a是这个变量的名字.
a出现在=的左边的时候,我们更关心变量的存储.
a出现在=的右边的时候,我们更关心存储的数值.

在有的语言里.我们在默认的情况下,是指这个变量的存储(地址),而需要值的时候,要用一个符号来表示访问值,这种语言是啥,我忘了.
而C把这个过程默默地做了.

(有一个LVALUE-RVALUE conversion,这里不讲.会把你搞晕的)

[解决办法]
对于你这种情况,两种含义都有,a既代表它所占有的空间,当你访问它时(放在表达式中或者等于号右侧),它也返回这个空间中对应整数的值

不要钻牛角尖,你就是清楚了这个有什么意义?时间长了你自然就懂了

引用楼主 ns22020426 的帖子:
int a; a表示4个字节的内存空间还是表示系统分配的4个字节内存空间中数据的大小啊????? 第一种理解:int a; a表示4个空间的内存空间,那么a=4,就是把4个二进制码放到a这个空间里。 第二种 理解:int a; 系统分配了4个字节的空间,a表示这个空间中数据的大小。a=4;就是把内存中a的大小赋为 4;感觉都说的通!!! 那个a到底是表示内存空间还是数据大小啊????? 越琢磨越崩溃...........

[解决办法]
探讨
你的意思是说 int a; a表示4个字节中的存储的内容 不是表示这个4个字节的存储空间吗?(32位系统)

[解决办法]
探讨
int a;
定义一个变量.
这个变量的类型是int;
这个变量没有初始化.
这个变量的存储隐式地约束了.
这个变量的名字是a,通过a来操作这个变量.
由于变量的类型是int,于是占的空间的大小是sizeof(int);

a是这个变量的名字.
a出现在=的左边的时候,我们更关心变量的存储.
a出现在=的右边的时候,我们更关心存储的数值.

在有的语言里.我们在默认的情况下,是指这个变量的存储(地址),而需要值的时候,要用一个符号来表示访问值,…

[解决办法]
据谭浩强的《C程序设计》中描述是这样的:变量代表内存中具有特定属性的一个存储单元,它用来存放数据,也就是变量的值,在程序运行期间,这些值是可以改变的。一个变量应该有一个名字,以便被引用。变量名实际上是以一个名字对应,代表一个地址。在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。
[解决办法]
我一般理解为变量名(任何类型)就是内存地址的别名,
因此你是使用这块内存的地址还是取其内容看你的需求了!
变量的类型就是告知系统该变量名所用内存的大小。不知这样理解是否更好!
[解决办法]
怎么感觉在研究哲学问题。
a代表该变量值,&a代表该变量存储的地址,这样理解不够吗?
[解决办法]
3楼讲的好!
[解决办法]
我的理解是 声明一个 int 型的 a 
系统就各一个内存空间取了个名字
&a 就是引用a 这个内存
16位编译器就分配2个字节的空间
32位就分配4个字节的空间
当你给a 赋值的时候 就是 把那个值放到 a 代表的那个空间你面
根据有些机器的不同 字节的排列顺序是相反的

这就是我的理解了 不知道对不对
[解决办法]
a所代表的就是系统分配的一块内存空间,如何使用这块空间,由你的代码来决定,可以把一些数值或内容放到这块空间,也可以从这个空间取出里面的内容。
a是这块内存空间的名字,这是为了编程序方便。如果是汇编或者机器代码,那就直接面对着内存地址操作了。
[解决办法]
探讨
怎么感觉在研究哲学问题。
a代表该变量值,&a代表该变量存储的地址,这样理解不够吗?

[解决办法]
飞雪的知识层次已经达到一定境界了....膜拜一下
[解决办法]
int a; a表示4个字节的内存空间

lz需要明白的是这四个字节的内存空间

可以存放多少信息,不同的数据代表不同的信息

0x0000
0x0001
0x0002
...

0xFFFF

可以有这么多的信息,但是Lz要明白某一时刻,a只能有一个唯一的数据

lz自己琢磨一下
------解决方案--------------------


有意思的讨论~ 学习下~
[解决办法]
当构建一个int变量时 会分配一段内存空间来存放这个int变量的数值
当我们在程序中 需要使用这个数值时 必须得有个引用 
int a;
而a这个变量名就是一个引用 可以用来改变内存空间中这个int变量的数值
而&a也是一个引用 表示这个数值在内存空间的地址
其实就是引用 这就是我的理解了
[解决办法]
特定存储空间的别名,这样的理解很清晰

热点排行