永发信息网

C语言和C++中符号常量的存储方式和位置

答案:4  悬赏:0  手机版
解决时间 2021-01-03 10:20
C语言和C++中 在定义变量和常量的时候就会分配一个内存空间给变量或常量用于存储数据,但是书上说符号常量只是一个符号不占用内存空间,我的问题是,所有数据都必须有存储空间,那么符号常量代表的数据是存储到哪里的呢?
最佳答案
符号常量与常变量的区别:符号常量不占用内存空间,在预编译时就全部由符号常量的值替换了,而常变量占用内存空间,也有数据类型,但是此变量在存在期间是不能重新赋值的。
1、常变量a的定义如下:
const int a = 5;
2、符合常量PI的定义如下:
#define b=3.1;
全部回答
#define定义的是符号常量,如果程序比较大,很多子程序都要用到pi,只要改变#define就能改变全部的pi值,一改全改。另外数组里面如果要改变数组大小,可以用符号常量,用变量则不行,所以符号常量在某些方面用起来非常方便
当然要占用空间了,就是在常量存储区,你可以让编译器产生map文件看看里面的各个数据的存储分配,书上说的不占内存空间大概是指在有些系统里,常量存储区因为不需要修改,所以是跟代码一起放在非易失性存储器里的
#define PI 3.14 做的事情是将源代码里PI的地方全部用3.14替掉 所以你们老师说符号常量不占空间 你说的也是对的,3.14是占空间的 但这个称为浮点常量,编译器用到的时候会临时给它一块内存空间,用完即销毁 顺便似乎符号常量是中国教材生造的 There are five kinds of tokens: identifiers, keywords, literals, operators, and other separators (ISO 14882) 这里的 literal 似乎不包含符号的意思。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
电机的详细分类?
火焰代表什么
移植后可以吃青瓜炒火腿肠吗
动物生来就有的、由________所控制的行为,称
读日本和俄罗斯略图,回答问题(1)日本、俄
鱼竿什么牌子
那本会火影技能的主角变成蒂法去打工的小说叫
单选题The rest of the nove
洛克王国宠物石怎么得
海口的中医哪里看的好?
单选题ThePartyleaders________thepeopleto
windows server 2003 C盘扩容
手机上的软件app怎么做的?
单选题476年,灭亡西罗马帝国的是A.波斯人B.
求助,二战考研报考点的选择问题
推荐资讯
3个月的哈士奇精神不好 食欲和喝水也变少了
违反税法就要受到相应处罚,体现了税法的特征
每年都有物种灭绝,是不是也有新物种诞生?
单选题下列类别的物质中,不可能含有三种元素
2009年1月4日,中国银联发布数据显示,元旦三
求(泰山归来:人猿大战)百度云资源,收费绕
关于欧洲西部叙述不正确的是A.欧洲西部国家出
银魂中银时最喜欢吃的食物
23岁能在农村信用社贷款嘛
英文翻译我们学校有2000台电脑游戏,其中有60%
单选题420×350的积比42×35的积扩大了______
梦到挖莲藕
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?