我有一个看起来像这样的交流程序
main.c
#include <stdio.h>
#define SOME_VAR 10
static int heap[SOME_VAR];
int main(void) {
printf("%p", heap);
return 0;
}
并在运行编译程序几次后输出
0x58aa7c49060
0x56555644060
0x2f8d1f8e060
0x92f58280060
0x59551c53060
0xd474ed6e060
0x767c4561060
0xf515aeda060
0xbe62367e060
为什么总是以060结尾?数组是否存储在堆中?
编辑:我在Linux上,并且我有ASLR。我用gcc编译了程序