当前位置:首页 » 编程语言 » c语言中常量有没有内存空间
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中常量有没有内存空间

发布时间: 2023-01-25 15:16:47

1. c语言中,常量是存放在内存中吗

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

在程序的运行过程中,把需要处理的数据存放在内存储器中,称始终保持不变的数据为“常量”,称存放可变数据的存储器单元为“变量”,其中的数据称为变量的值。

整数是以补码的形式转换为二进制代码存储在计算机中。

实数是以IEEE754标准转回换为二进制代答码存储在计算机中。

字符本质实际也与整数的存储方式相同(先通过ASCII码把字符转换为对应的整数,再按整数以补码形式转换为二进制)。

(1)c语言中常量有没有内存空间扩展阅读:

在除了‘C/C++’的一些高级程序语言中,‘常量’可以被称作,“在一个信息变化过程中,始终不发生改变的量”,其可以是不随着时间变化的某些量的固定信息;也可以表示为某一数值的字符(或字符串),常被用来标识、测量和比较两者的差异。

但在 ‘C/C++语言中’,‘常量’如果还用‘运行过程中不变的量’来描述,就显得不太准确了,甚至是在具体使用时,这就是一个错误的概念。在 ‘C/C++’中,定义‘指针常量’时,根据‘const ’的位置的不同,可以定义出几个不同的形式,虽然其看起来‘符合常量的概念’,但是在实际运行中,其值或地址值是会发生变化的。所以本质还不是‘常量概念’

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

常量分几种情况:1、用#define定义的宏,此时其实它是立即数,在编译的时候,会直接写入程序不会占空间
2、用定义一个变量存储了一个常数(其实这时候是一个变量了,要占RAM空间的);
3、定义在ROM中,如“__ROM"来声明,这时候就占ROM,而不是RAM,我们所说的内存指RAM,所以不占内存。

3. C语言:程序会不会为常量分配内存空间

肯定会分配啊,不然怎么保存该数据啊。 内存区域有划分的:代码区,栈区,动态区,静态区,常量区。

4. c语言常量 占内存吗

不占内存!!!
比如你定义了个 #define P 3.1415
这个是完全不占内存的!在进行编译的时候编译器会把程序里所有 P 都改成3.1415 的!
其实在C 语言里的#define 是不太符合“常量”这个名字的。。。。。。

在C++ 里用const 定义的那才叫真正的常量!值不可以改变,是占内存的!

5. C语言中常量123456789123L占用多少字节存储空间

占用8个字节的存储空间,在C语言中,常量是存储在常量区里面。123456789123L本来是6个字节,但是为了对其就是8个字节。

6. C语言中,符号常量和变量一样,使用前必须先定义,并占有一定的内存空间。对吗

不对。
符号常量和变量一样,使用前确实必须先定义,但符号常量不占用内存空间。
符号常量会在预处理阶段由预处理器用它的定义直接替换,到编译阶段符号常量根本就不存在了,是不会分配内存的。

比如,假设有符号常量pai的定义:
#define pai 3.14
和如下使用它的语句:
double r=8,c=2*pai*r,s=pai*r*r;
则经预处理器处理后,以上语句变成了:
double r=8,c=2*3.14*r,s=3.14*r*r;
到编译阶段已不存在符号常量了。

7. c语言中,常量是存放在内存中吗

关键的是,常量和变量是放在不同的"段"(section)里,程序一旦加载,常量/变量自然都在内存里了。
常量和全程变量,通常放在初始化段;局部变量,通常在栈里;
还有一种情况,比如汇编里的立即数(mov
ax,
12),它是直接放在指令里的,也即是代码段里.

8. c语言中,常量到底占不占内存空间

宏定义不占内存空间,因为宏在预处理阶段就会被替换掉,到了编译的阶段是没有宏存在的,它自然到不了可执行文件中,所以它不占内存空间。
字面常量,占不占空间要看情况,我不知道c语言标准中是否对此事作出规定,我就谈谈gcc的处理方法吧,这个设计汇编的问题。
int a;
a = 5;将这段反汇编,得到
可以看到,5是以立即数的形式出现的,所以它不占内存。
然后再将a定义为float:
float a;
a = 5.0;
可以看到,程序的最后定义了5.0的单精度浮点表示,然后将其传入eax寄存器,再赋值给a。
另外,字符常量不占内存空间,字符串常量占内存空间。总之,整形常量是不占空间的,其他占。

9. c语言中为什么字面常量与宏定义不占内存空间

因为宏在预处理阶段就会被替换掉,到了编译的阶段是没有宏存在的,它自然到不了可执行文件中,所以它不占内存空间。字面常量,占不占空间要看情况。使用方式如下:

1、首先新建一个工程和.c文件,输入头文件、主函数和宏定义。

10. C语言中常量有没有占内存求高手帮忙

肯定占内存啊。只是它占用的是内存中的某一静态区域,也就是说 在程序运行期间,只有一份拷贝在内存中,程序结束后自动释放