c中的const变量

c中的const变量,第1张

概述这些是一些愚蠢的问题..我想问.请帮助我理解它 const int i=100; //1///some codelong add=(long)&i; //2 怀疑:对于上面的代码……将首先编译整个代码 用于决定是否应该分配内存..或者首先它将存储 在只读内存位置变量,然后在2处分配stroage 怀疑:为什么采用变量强制编译器的地址来存储变量在内存中…甚至 虽然rom或者注册也有地址 在 这些是一些愚蠢的问题..我想问.请帮助我理解它

const int i=100;   //1///some codelong add=(long)&i;  //2

怀疑:对于上面的代码……将首先编译整个代码
用于决定是否应该分配内存..或者首先它将存储
在只读内存位置变量,然后在2处分配stroage

怀疑:为什么采用变量强制编译器的地址来存储变量在内存中…甚至
虽然rom或者注册也有地址

解决方法 在您的代码示例中,add包含i的地址,而不是值.我相信你可能以为我没有存储在正常的内存中,除非/直到你拿到它的地址.不是这种情况.

const并不意味着该值存储在ROM中.它存储在普通内存(通常是堆栈)中,就像任何其他变量一样. const意味着编译器会花一些时间来阻止你修改值.

const不是,而且从来没有打算成为某种安全机制.如果获取内存的地址并想要修改它,则可以这样做.当然,这几乎总是一个坏主意,但如果你真的需要这样做,那就有可能.

总结

以上是内存溢出为你收集整理的c中的const变量全部内容,希望文章能够帮你解决c中的const变量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1213476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存