64,642
社区成员
发帖
与我相关
我的任务
分享
int i = 0;
int *p = NULL;
for(i=0;i<10;i++)
{
int j = i+1;
p = &j;
}
for(i=10;i<20;i++)
{
int j = i+1;
// 这个j和上面的j不是同一个地址。
// 说明上面那个j的空间依然存在,没有被重新利用
}
printf("%d", *p);
//此时打印10,同样说明第一个j的空间里面的值没有被更改。
void fun(int lv) {
if (0==lv) return;
fun(lv-1);
}
for(int i=0;i<10;i++) {
fun(i);
int j = i+1;
cout<<&j<<endl;
}