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

初学者发言

2012-04-11 
菜鸟发言关于int a的一个问题!一个 int a语句对计算机来说到底是什么意思?是给a分配了一个int型的内存吗?

菜鸟发言
关于int a的一个问题!一个 int a;语句对计算机来说到底是什么意思?是给a分配了一个int型的内存吗?int s[2]是分配两个内存吗?我知道初始化是给了内存的。。。。求解释

[解决办法]
楼上说的对,int是分配了sizeof(int)个内存单位,分配大小要看编译器的.int s【2】分配两个int内存单位
[解决办法]
我只拿TC做解释(编译系统的不同导致分配的字节数不同)
 一个int 是2个字节 每个字节是8个2进制位 他可以存放一个带符号的整数 范围在-32768-32767

也就是说 int a; 这个变量a只能存放这个范围的数,一旦大于这个范围就会溢出,数据就会出错。

同上int s[2];他是个整形数组,代表含有2个Int 型的元素 s[0],s[1]; 你可以把每个元素看成一个单独的 Int 型变量,所以 每个元素的取值范围也是在-32768-32767 超出同样会溢出。

int a,在内存中开辟一个长度为16个二进制位的空间,且空间的首地址是a(编译后就不是a了)
int s[2],在内存中开辟一个长度为32个二进制位的连续空间,每一个元素占16个二进制位,且空间的首地址是s,计算机在找下一个元素的时候,就从首地址跳过16个二进制位,就是第2个元素

热点排行
Bad Request.