私は非常に単純な C プログラムを持っており、ローカル変数の割り当てに使用されているメモリ アドレスを (自分の好奇心から) 調査しています。私のプログラムは次のとおりです。
#include <stdio.h>
int main()
{
char buffer_1[8], buffer_2[8], buffer_3[8];
printf("address of buffer_1 %p\n", buffer_1);
printf("address of buffer_2 %p\n", buffer_2);
printf("address of buffer_3 %p\n", buffer_3);
return 0;
}
出力は次のとおりです。
address of buffer_1 0x7fff5fbfec30
address of buffer_2 0x7fff5fbfec20
address of buffer_3 0x7fff5fbfec10
私の質問は、アドレスが小さくなっているように見えるのはなぜですか? これには何らかの論理がありますか?ありがとうございました。