Tag: 本地变量

返回局部变量行为的地址

可能重复: 可以在其范围之外访问局部变量的内存吗? 输入: #include #include int func2(void); int* func1(void); int func2(void) { int* b; b = func1(); printf(“%d”, *b); printf(“%d”, *b); printf(“%d”, *b); } int* func1() { int a = 13; return &a; } int main() { func2(); } 输出: 13 -1077824828 -1077824828 有人可以解释堆栈和操作系统中发生的事情吗? 获取指针值后,为什么结果从13变为垃圾?