int a[10];
printf("%p\n", a);
printf("%p\n", &a[0]);
产量:
0x7fff5606c600
0x7fff5606c600
这是我的期望。现在,在d,我想这个(显然没有用的情况下,只是打打闹闹):
int[] slice = [...];
writeln(&slice);
writeln(&slice[0]);
产量:
7FFF51600360
10E6E9FE0
为什么不同?看起来像是一个完全不同的记忆片段。 (虽然刚才我发现D中的数组可能不仅仅是相邻分配的整数吗?)
因为 “阵列” 本身是一个指针数组。 – kfsone