SJTU_Mercurial 2014-09-10 08:53 采纳率: 0%
浏览 1599

C++程序中局部变量的访问权限问题

对于如下的代码,在VS2013环境下,编译器并不报错。
但是我个人认为,主函数在调用f函数后,局部变量i的空间被释放,*p虽然指向i,但是应该没有i的访问权限。
请各位大牛指导,谢谢!

#include
#include

void f(int **q)
{
    int i = 5;
    *q = &i;
}
int main(void)
{
    int *p;

    f(&p);
    printf("%d\n", *p);
    system("pause");
    return 0;
}
  • 写回答

1条回答 默认 最新

  • Jiazhou_Lvguan 2014-09-11 08:24
    关注

    这样做是不安全的,编译器应该会报个警告吧。

    评论

报告相同问题?

悬赏问题

  • ¥20 使用Photon PUN2解决游戏得分同步的问题
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了