函数中,a为一维数组,是个常指针,此时sizeof(a)就能够计算出来410
=
40,sizeof(int)是为4的
第二,在int
Length中,你将a作为一个地址传入该函数里,这个arr只是一个指针变量而已,它的大小为4个字节,使用sizeof(arr)时只能得到4。
这个sizeof比较奇怪,你在主函数里定义
char
b
=
"helloworld";
如果使用sizeof(b)的话,也是算出来4,懂了吗,嘿嘿static char a[ ]="ABC" ; static char b[ ]={'A','B','C'} ;a,b数组长度不等价,因为数组a结尾多了一个结束符("\0"),所以数组a的长度比数组b的长度大1a数组长度为4,b数组长度为3
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)