在函数返回后const变量还留在内存中不?
另外这个问题对当前流行编程语言是否都适用?
函数体内 const变量 存储位置
答案:3 悬赏:30 手机版
解决时间 2021-01-26 11:39
- 提问者网友:却不属于对方
- 2021-01-25 15:04
最佳答案
- 五星知识达人网友:蓝房子
- 2021-01-25 16:25
只C语言中的:
const只在编译时候有效,程序运行起来后无效,只是为了防止误改动。比如
const int a = 0;
如果你下文中有a = 2;编译的时候会提示你,a是一个readonly的,不能改变。但是如果你用指针去改变,编译器也判断不出来。还是能改变的。
在函数返回后const变量还留在内存中不?
根据上边的铺垫,const变量运行起来后,和变量没有本质区别!如果想要留存内存中应该用static。
const只在编译时候有效,程序运行起来后无效,只是为了防止误改动。比如
const int a = 0;
如果你下文中有a = 2;编译的时候会提示你,a是一个readonly的,不能改变。但是如果你用指针去改变,编译器也判断不出来。还是能改变的。
在函数返回后const变量还留在内存中不?
根据上边的铺垫,const变量运行起来后,和变量没有本质区别!如果想要留存内存中应该用static。
全部回答
- 1楼网友:蓝房子
- 2021-01-25 17:50
函数中的局部变量,包含自动变量、常量等,都存储在栈中,一旦函数寿命结束,栈中的内容全部清除。但静态变量(static)保存在堆中,函数结束后,任然保存,但限于其可见性,其他函数无法进行存取。
- 2楼网友:天凉才是好个秋
- 2021-01-25 16:34
编程所有可见变量都是在内存中运行,rom是指主板上小容量的引导存储,一般存放主板信息
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯