当前位置:首页 > 内存 > 正文

c语言中常量占内存吗

  • 内存
  • 2024-06-11 17:25:14
  • 4320

一、谭浩强的C语言书中说常量也占内存,我有疑问谭浩强的C语言书很老了。
inti=4;
以前,常量4必须放在常量区域。
inti,必须分配变量存储单元。
然后我们将4分配给i作为一个单元,将4存储在常量区域中。
--
现在inti=4的处理是声明和初始化。inti,分配一个变量存储单元,然后初始化存储值4。
这样常数就不会占用任何其他单位。
---
但是
char*p="abcd";
"abcd"--还是需要放在常量区
char*p--指针占用4个字节。


二、c语言中,常量是存放在内存中吗?

常量和变量被放置在不同的“部分”一旦程序被加载,常量/变量自然会驻留在内存中。

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

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

实数按照IEEE754标准转换为二进制代码并存储在计算机中。

字符的本质和整数的存储方法本质上是一样的(先通过ASCII码将字符转换为对应的整数,然后将整数以补码形式转换为二进制)。

扩展信息:

在‘C/C++’以外的一些高级编程语言中,‘constant’可以被称为“inamessage“在变化过程中永不改变的量”,可以是不随时间变化的某个量的固定信息,也可以表示为某个值的字符(或字符串),常用来识别、测量;并比较两个事物之间的差异

但是在“C/C++”中,如果“常数”也被描述为“在运行过程中不会改变的量”,那么即使在具体用法在‘C/C++’中,定义‘指针常量’时,根据‘const’所在的位置,可以定义几种不同的形式,虽然看起来‘符合常量的概念’,但在操作上实际上。,它的值或者地址值会发生变化,所以本质上并不是一个‘不变的概念’

参考来源:-常量


三、C语言中常量有没有占内存?求高手帮忙当然需要记忆。它只是在内存中占用一定的静态区域,也就是说在程序执行过程中内存中只有一份,程序结束后自动释放。