C:
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 の配列は単に隣接して割り当てられた int ではないことに気がつきましたが?)