C语言如果指针储存常量的地址,那储存常量的空间是怎么算的啊?常量区是个什么样的空间啊

如题所述

您好,计算机一切数据都放在内存(这儿不讨论硬盘)中,常量也不例外。所谓的常量区就是一块专门腾出来放常量的内存区罢了。计算机每个内存块都有编号,这个编号就是内存块的地址,这个地址CPU可以找得到。在需要用某个常量的地址的时候,CPU就会找到这个常量的所在的内存,记下它的编号,将这个编号数据存入另一块小内存中。
打个比方:内存好像一条大街,大街上有好多房子,每个房子都相当于一个小内存块。然后我们人为圈出一部分房子说这里只能放常量,那么从此这个地方就叫常量区了。对于每个房子,都会有一个门牌号,街道管理员(CPU)可以很熟练地找到它。当你需要在街上寻找某个人(常量)时,街道管理员就会顺着大街按门牌号一间一间找下去,直到在某个房子里找到你要见的人(常量)。如果你需要记住这个人住哪间房,以方便下次寻找,那么街道管理员(CPU)就会记下这间房的门牌号(地址),并把写有门牌号的纸条放到另一个房子(也是内存)中。这样,下次你再要找那个人(常量)时,你直接去存放门牌号的那间房看看纸条上写的数字,就可以很快找到他了(不用一间一间挨着找了)~~
当然,上述例子比较粗糙,但基本就是这么个原理,实际上你每定义一个常量,CPU就会自动关联它的地址,等你下次用常量时,会直接通过地址找出来。
如果懂了请采纳,还有疑问请提出来共同探讨~~
温馨提示:答案为网友推荐,仅供参考
相似回答