C语言中,常量占内存空间吗?请高手指教

如题所述

常量分几种情况:1、用#define定义的宏,此时其实它是立即数,在编译的时候,会直接写入程序不会占空间
2、用定义一个变量存储了一个常数(其实这时候是一个变量了,要占RAM空间的);
3、定义在ROM中,如“__ROM"来声明,这时候就占ROM,而不是RAM,我们所说的内存指RAM,所以不占内存。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-17
是一个命名的数据项,在整个操作过程中其值保持不变。如PI值,即3.1415926535是数值型常量。 VFP定义了如下类型的常量:

数值型常量,如:20,16,100,1

字符型常量,用或双引号括起来的,如:"ABCD"

逻辑型常量,只有两种:.T.和.F.

日期型常量和日期时间型常量,如:{^1999-04-22},{^1999-04-24 10:00am}

关键的是,常量和变量是放在不同的"段"(section)里,程序一旦加载,常量/变量自然都在内存里了。

常量和全程变量,通常放在初始化段;局部变量,通常在栈里;

还有一种情况,比如汇编里的立即数(mov ax, 12),它是直接放在指令里的,也即是代码段里.

由上面,我们可以知道,常量是在程序加载的时候,一起加载到内存中去的,这个时候是要占用内存资源的。。。本回答被提问者采纳
第2个回答  2010-11-29
是要占的,就像你平常定义变量,如果不赋值为0,输出的不一定是0一样;是占的...
(ps:我们老师说的)
第3个回答  2010-11-29
不占,个人观点
第4个回答  2010-11-29
都要占本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网