脚本宝典收集整理的这篇文章主要介绍了返回本地变量的地址是危险的,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
//返回本地变量的地址是危险的,本地变量结束后地址会重新分配给其他地方使用//返回全局变量或静态本地变量的地址是安全的的//返回在函数内malloc的内存是安全的的,但是容易造成问题//最好的做法是返回传入的指针
#pragma warning(disable : 4996)
#include <iostream>#include<stdio.h>
int *f(void); int *g(void);int main() { int *p = f(); printf("*p = %dn", *p); g(); printf("*p = %dn", *p);
return 0;
}int *f(void) { int i = 123; printf("i = %dn", i); printf("&i = %pn", &i); return &i;}int *g(void) { int k = 78; printf("k = %dn", k); printf("&k = %pn", &k); return &k;}/*------------------------------i = 123&i = 001FFD60*p = 123k = 78&k = 001FFD60*p = 78-----------------------------------*/
//不要使用全局变量来在函数间传递参数和结果//尽量避免使用全局变量//丰田汽车的案子//使用全局变量和静态本地变量的函数是线程不安全的
以上是脚本宝典为你收集整理的返回本地变量的地址是危险的全部内容,希望文章能够帮你解决返回本地变量的地址是危险的所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。