故名思意,就是返回指针的函数。
int *func() //定义一个返回指针的函数{static int n = 10;//存储在静态存储区中,并不会随着函数执行完毕后回收。return &n;}void main(){int *p = func();int i;i = *p;printf("%p\n", func());printf("%d\n", i);getchar();}
注意:
在旧版本的C语言中,对于指针函数运行结束后会销毁函数的局部数据,这里的销毁并不是将局部数据所占用的空间清零,
而是该程序放弃对它的权限,后面的代码可能还是可以访问到的(前提是再此之前没有对内存进行操作)。
在新版本中,直接访问会报错。
如果变量前面加了static关键字 则该变量会存储在全局区/静态存储区中
