2014年(13)
分类: C/C++
2014-10-08 19:14:41
用sizeof(数组名)/sizeof(成员或成员变量的类型)可以得出数组元素的个数,但这个仅仅对于普通的数组有效,因为数组的大小是固定的, 所以在编译的时候编译器就能计算出个数来。但是数组作为参数时就不一样了,int exchange(int a[],int b[]),即使你在a后面写了[], 编译器还是把它转换成一个int*来处理,也就是说,n=sizeof(a)/sizeof(int);这一句,第一个sizeof得到的是int*的大小,对于32指 针来说正好是和int一样大,所以是1.