假设我们有2个文件
1)file1.c
int Appples[10];
2)file2.c
extern int *Appples;
除了我必须独立处理尺寸之外,这种声明是否有任何问题?
答案 0 :(得分:5)
类型指针指向类型T与类型数组-T不同。使用extern char a []。
虽然this answer更具体地解决了这个问题。最后一点是:数组不是一个指针,你不应该这样对待它。
答案 1 :(得分:1)
将变量声明为:
extern int *Appples;
需要定义为:
int *Appples = <initializer>;
不是:
int Appples[10];
如果您想使用:
定义int Appples[10];
可以声明为:
extern int Appples[10];
或
extern int Appples[];