【发布时间】:2019-04-05 17:45:28
【问题描述】:
我创建了一个这样的数组:int thisArray[20] = {0,1,2,3,4,5,6,7,8,9};
然后我创建了一个变量来存储数组的大小:
int this = sizeof(thisArray);
当我告诉程序打印 this 的值时,它显示的是 80 而不是 20。
我做错了什么?
【问题讨论】:
-
大小是20个整数,因为你这么说。而一个 int 是 4 个字节,4*20=80。
-
sizeof这是字节的大小,而不是元素的数量 -
int的宽度为 4 字节,因此 20ints 为 80 字节。 -
要知道数组的元素个数使用
sizeof(A)/sizeof(A[0])