我的数组大小为n;
它没有被创建。
已更新
int p[n];
for (int i = 1; i <= n; i++) {
p[i] = 12;
}
NSLog(@"%i", p[5]);
但是当我使用例如NSLog时。第5项 - 我可以看到它是12,如何?
答案 0 :(得分:1)
p
是数组的名称,它不知道它的长度。因此,当您打印p
时,它会告诉您有关定义((int []) p = {}
)的信息,而不是内容。
您也可以直接在调试控制台中执行此操作:
Printing description of p:
(int []) p = {}
(lldb) p p
(int []) $0 = {}
(lldb) p p[1]
(int) $1 = 12
(lldb) p p[20]
(int) $2 = 12
(lldb) p p[21]
(int) $3 = 992998680
如果将数组定义为int p[20];
,则调试器将尊重长度并为您打印数组的完整内容。