C语言中的 局部变量,存储在什么地方?
1个回答
展开全部
C语言中的局部变量存储在栈里。
普通的局部变量在栈空间上分配,这个局部变量所在的函数被多次调用时,每次调用这个局部变量在栈上的位置都不一定相同。局部变量也可以在堆上动态分配(malloc),但是记得使用完这个堆空间后要释放之。
在栈空间上分配时是要注意内存的,不能分配内存过大。如果栈内空间小于所申请的空间大小,那么这时系统将揭示栈溢出,并给出相应的异常信息。但是堆不一样,堆可分配空间是很大的。
扩展资料
局部变量分类
1、位置:静态局部变量被编译器放在全局存储区.data,所以它虽然是局部的,但是在程序的整个生命周期中存在(定义时出生,随着程序结束而结束)。
2、访问权限:静态局部变量只能被其作用域内的变量或函数访问。也就是说虽然它会在程序的整个生命周期中存在,由于它是static的,它不能被其他的函数和源文件访问。
3、值:静态局部变量如果没有被用户初始化,则会被编译器自动赋值为0,以后每次调用静态局部变量的时候都用上次调用后的值。
参考资料来源:百度百科—局部变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询