编译器通过数组定义时所用的元素类型和数组元素个数来计算数组的总大小,即数组元素个数乘以每个元素所占的字节数。例如,定义一个包含10个int类型元素的数组:
int arr[10];
编译器会将其转化为如下的代码:
int arr[10];
int arr_size = sizeof(arr) / sizeof(int);
其中,sizeof(arr)
表示整个数组所占用的字节数,sizeof(int)
表示每个int类型元素所占用的字节数。通过将总字节数除以每个元素所占用的字节数,即可计算出数组的元素个数。