int main() {
int* p = 0;
p = (int*)malloc(5*sizeof(int));
unsigned int i = 0;
for (i = 0; i < 5; i++) {
p[i] = i+1;
}
free(p);
return 0;
}
每次执行的打印结果
(gdb) p p@5
$3 = {0xad8010, 0x500000000, 0x0, 0x7f889b8fc76d, 0x0}
(gdb) p p@5
$4 = {0x1522010, 0x500000000, 0x0, 0x7f58f8f1676d, 0x0}
首地址变成动态了, 后面的固定地址是什么原理