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
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑