假设我们有两个文件。
1)file1.c。
1)file1.c。
int Appples[10];
2) file2.c
extern int *Appples;
除了我必须独立处理大小之外,这种声明方式有什么问题吗?
这在 C FAQs 6.1 中有详细解释。
类型指向类型T的指针与类型T的数组不同。使用extern char a[]。
而这个答案更具体地解决了这个问题。最终的观点是:数组不是一个指针,你不应该把它当作一个指针来处理。
extern int *Appples;
int *Appples = <initializer>;
不是这样:
int Appples[10];
int Appples[10];
extern int Appples[10];
或者
extern int Appples[];
extern int Apples[10];
? - Mahesh