【发布时间】:2010-05-12 01:07:38
【问题描述】:
在我的 MyConstants.h 文件中...我有:
int abc[3];
在我匹配的 MyConstants.m 文件中...我有:
extern int abc[3] = {11, 22, 33};
在我的其他每个 *.m 文件中...我有
#import "MyConstants.h"
在我的 1 个 viewDidLoad{} 方法中,我有:
extern int abc[];
NSLog(@"abc = (%d) (%d)", abc[1], sizeof(abc)/sizeof(int));
为什么显示“abc = (0) (3)”而不是“abc = (22) (3)”?
如何按预期进行这项工作?
【问题讨论】:
-
不应该'extern'进入.h文件而不是.m?
-
@squelart:把它作为一个答案。
-
@squelart: 哦,对不起,我不是故意要抢你的风头。如果您添加一个并删除我的,我会更新您的答案。
-
我没有要测试的mac,也没有多少时间来写一个完整的答案......@dreamlax:不用担心,你写了一个彻底的答案,我不能做得更好,值得+1给你!
标签: c objective-c arrays global-variables extern