在C文件(例如sourcefile1.c)中,数组定义如下。在这里,我们不需要在[]中明确提及arrary arr size,因为该大小将由初始化中使用的元素数决定。
int arr[] = {1,2,3,4,5};
在另一个C文件(例如sourcefile2.c)中,声明了相同的数组以供使用,如下所示:
extern int arr[];
在sourcefile2.c中,我们可以在arr上使用sizeof()来找出arr的实际大小。
(A)是
(B)虚假答案: (B)
说明:首先,sizeof()运算符在编译时起作用。因此,对sourcefile2.c中的arr使用sizeof无效,因为sourcefile2.c中的arr是不完整的类型。请注意,由于初始化是在编译时确定数组的大小,因此sourcefile1.c中的arr是完整类型。
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。