定义类型x和类型的数组X.
x.h:
typedef struct _x {int p,q,r;} x; extern x X[];
单独的文件保存巨大的鸣叫数组X.
x.c:
#include "x.h" x X[] = {/* lotsa stuff */};
现在我想使用X:
main.c中:
#include "x.h" int main() { int i; for (i = 0; i < sizeof(X)/sizeof(x); i++) /* error here */ invert(X[i]); return 0; }
main.c不会编译;错误是:
error: invalid application of ‘sizeof’ to incomplete type ‘struct x[]’
如何获得X的大小,无需硬编码?