我有一个非常简单的 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
我的问题是:为什么地址似乎越来越小?这有什么逻辑吗?谢谢你。