将指针分配给局部变量

时间:2019-05-23 07:32:01

标签: c++ reference local-variables

我是c ++的新手,我知道我们不能将局部变量的引用分配给某个指针,因为局部变量的生存期将在超出范围时终止

但是此代码为什么起作用?

struct AA {
  int *i;
}aa;

void test() {
  int i = 5;
  aa.i = &i;
}

int main() {
  test();
  printf("a = %d\n", *aa.i);
  return 0;
}

我希望aa.i包含垃圾指针,但似乎没有,aa.i指向局部变量i

0 个答案:

没有答案