首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

函数体内的值为啥可以通过指针访问

2013-04-21 
函数体内的值为什么可以通过指针访问?#includeiostreamusing namespace stdint main(){int * sm()int

函数体内的值为什么可以通过指针访问?

#include<iostream>
using namespace std;
int main(){
   int * sm();
   int *p;
   p=sm();
   cout<<*p;
   return 0;
}
int * sm(){
int *p;
int a=100;
p=&a;
return p;
}

输出结果为100
函数运行完,内部变量不是都销毁了吗?
为什么还能输出呢?
求大神解答。。
[解决办法]
不是说销毁了,内存销毁是什么概念?而是这个空间在逻辑上不可以再访问了(操作系统可以让其他程序使用了),操控权不归你了,在没有没改写前数据没有变化而已,这样是不较危险的。

热点排行