标签:环境变量 动态 包括 全局 通过 blank 开始 错误 操作系统
自我们开始学习C语言中的指针,老师就说返回函数局部变量的地址是没有意义的,因为函数调用完毕,系统回收函数中用到各种资源,函数栈顶指针向高位地址移动。指针指向的内容已经被释放,返回的指针会指向不可预料的内容。
我们可以从C程序的内存布局讲起(详细内容,请查看超链接内容,本片文章只会讲解与本篇文章相关的内容)。
C语言的内存布局具体可以分为五部分:
那么函数可以返回哪些变量的指针呢?
还有一种特殊情况:
函数的参数本身就是指针变量,函数最后返回了参数,由于参数是由主调函数完成初始化,并且函数返回值指向主调函数的一个变量,所以不会产生问题。
(如有错误,欢迎指正!)
标签:环境变量 动态 包括 全局 通过 blank 开始 错误 操作系统
原文地址:https://www.cnblogs.com/HyattXia/p/12823484.html