导读 今天来聊聊关于unreferencedlocalvariable的文章,现在就为大家来简单介绍下unreferencedlocalvariable,希望对各位小伙伴们有所帮助。1、
今天来聊聊关于unreferencedlocalvariable的文章,现在就为大家来简单介绍下unreferencedlocalvariable,希望对各位小伙伴们有所帮助。
1、这句提示的意思是,局部变量a使用时未被初始化。
2、 C语言将局部变量放在栈中,即在函数入口处添加一句指令subl $xx, %esp来上移栈顶指针,为局部变量流出空间。
3、而系统管理栈,只有push压入、pop弹出两种基本操作,pop弹出之后不会将那块区域的内容清零,所以说局部变量的值是不确定的,因为栈中那块地方之前可能经历过几次压入而被改写。
4、 解决办法,就是在使用前,给a一个确定的值,让他指向一块确定的可访问的内存区域。
5、可以使用malloc来分配一块堆内存给a:a = malloc (sizeof(int) * 7); 这样写的话,需要在a使用完毕后,调用free函数回收这块堆内存。
相信通过unreferencedlocalvariable这篇文章能帮到你,在和好朋友分享的时候,也欢迎感兴趣小伙伴们一起来探讨。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!