在平时的编程中,我们会经常用到数组,并且需要知道数组的长度,有时我们可以明确的知道数组的长度,但有时并不,这时,可以借用sizeof(),来获得数组的长度,如下:
arrayLength = sizeof(array) / sizeof(array[0]);
在使用sizeof() 获得数组长度时,需要注意,如果数组array 和 sizeof() 的使用 是在同一个文件中,那么array在定义时,不需要明确数组长度;如果他们在不同的文件中时,则array在定义时必须明确长度,否则会报错 “ incomplete type is not allowed ”。
例:
a.c 文件中定义了数组array
int array[] = {0,1,2,3,4,5,6,7,8,9};
在a.c文件中我们可以用sizeof() 来获得array的长度
arrayLength = sizeof(array) / sizeof(array[0]);
或者
arrayLength = sizeof(array) / sizeof(int);
如果此时我们在b.c文件中使用同样的方法来获得array的长度,那么在编译时会报" incomplete type is not allowed "错误
时间: 2024-10-25 17:24:06