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

C语言和C++中在定义变量和常量的时候就会分配一个内存空间给变量或常量用于存储数据,但是书上说符号常量只是一个符号不占用内存空间,我的问题是,所有数据都必须有存储空间,那... C语言和C++中 在定义变量和常量的时候就会分配一个内存空间给变量或常量用于存储数据,但是书上说符号常量只是一个符号不占用内存空间,我的问题是,所有数据都必须有存储空间,那么符号常量代表的数据是存储到哪里的呢? 展开
 我来答
rockrider001
2011-02-19 · TA获得超过1567个赞
知道小有建树答主
回答量:1200
采纳率:100%
帮助的人:1183万
展开全部
当然要占用空间了,就是在常量存储区,你可以让编译器产生map文件看看里面的各个数据的存储分配,书上说的不占内存空间大概是指在有些系统里,常量存储区因为不需要修改,所以是跟代码一起放在非易失性存储器里的
owensss
2011-02-20 · 超过28用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:0
展开全部
#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 似乎不包含符号的意思。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乐跑小子
2016-01-12 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:7%
帮助的人:4748万
展开全部
符号常量与常变量的区别:符号常量不占用内存空间,在预编译时就全部由符号常量的值替换了,而常变量占用内存空间,也有数据类型,但是此变量在存在期间是不能重新赋值的。
1、常变量a的定义如下:
const int a = 5;
2、符合常量PI的定义如下:
#define b=3.1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友288ba2d
2011-02-19 · TA获得超过364个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:272万
展开全部
堆上。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式