69,371
社区成员
发帖
与我相关
我的任务
分享
// 不是销毁了, 返回的局部变量的指针是指向栈内的指针, FUN返回时, 栈指针(esp)会倒退几位, 当再压栈时, 原值会被修改.
// 而此处没有被修改
// 试试
int *fun(){
int a[] = {5};
return a;
}
int *fun2(){
int a[] = {6};
return a;
}
int main(){
int *q;
q = fun();
fun2(); // 将会修改栈内的值
printf("%d\n",q[0]); // 6
system("pause");
return 0;
}