c语言为什么sizeof(int)==40? 而sizeof(int[5])==20?第二个5int20字节,那第一个是什么东西? ?

还有。。
sizeof(int[5]) / sizeof(int) == 50。。。sizeof(int[5]) / 4 = 50。。。
。。。。我一开始只是想用c写下排序,然后动态的求一下数组的长度而已。。。。。用的eclipse C插件。
环境是:linux eclipse gcc

怎么可能!
sizeof(int) 不可能是40,等于4有可能,表示4字节长度,在不同的系统中,可能会等于4,也可能会等于8,或者等于2,并不是都是等于4.
sizeof(int[5]) 可能会等于20 ,因为每个int占用是4字节的话,那么就是20
sizeof( int[5]) 和 sizeof(int) 肯定是5倍的关系,不可能等于50,除下来的结果只可能是5
sizeof(int[5])/ 4也不可能等于50,等于5是有可能。追问


有时候只写一个又会变回4。。。sizeof(char)单写也会变成10额。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-22
c语言规定int为4个字节。
sizeof(int)==4
而sizeof(int[5])==4
相似回答