私の質問は、配列のアドレスが最初の位置のアドレスと異なるのはなぜですか?
私は自分のmallocを書き込もうとしていますが、最初はメモリのチャンクを割り当ててアドレスをいじっているだけです。私のコードはおおよそ次のようになります。
#define BUFF_SIZE 1024
static char *mallocbuff;
int main(){
mallocbuff = malloc(BUFF_SIZE);
printf("The address of mallocbuff is %d\n", &mallocbuff);
printf("The address of mallocbuff[0] is %d\n", &mallocbuff[0]);
}
&mallocbuffは、実行するたびに同じアドレスになります。&mallocbuff [0]は、毎回ランダムなアドレスです。アドレスが一致することを期待していました。なぜそうではないのか誰かが説明できますか?