求数组内元素的个数及遇到的问题

正确写法为下图代码

求数组内元素的个数及遇到的问题

下图为错误

求数组内元素的个数及遇到的问题

上图这样的写法打印的结果会一直是1;

下图为运行结果图

求数组内元素的个数及遇到的问题

因为arr是函数参数,到了本函数中,arr只是一个指针(地址,系统在本函数运行时,是不道arr所表示的地址有多大的数据存储空间,这里只是告诉函数:一个数据存储空间首地址),所以sizeof(arr)的结果是指针变量arr占内存的大小,一般在32位机上是4个字节。arr[0]是int类型,sizeof(arr[0])也是4个字节,所以,结果永远是1.因此,获得数组长度,只能在数组定义所在的代码区中,采用以上方法,才可以达到效果。