C语言:字符串常量和浮点常量的区别是什么?还有一般的整型?他们是不是存储在一个区域
希望可以尽快得到解答
常量都放在常量池中,可以是任何类型
这个很简单,你定义一些常量,输出它们的指针,你会很容易发现,它们的确是在差不多的地方的。(相比堆栈和堆的地址)
应该是存储在同一个区域
常量都是放在数据区等。基本在同一块范围
区别在于他们译码方式不同。在同一个区存储区域内。
1) 形式上:
...字符常量是单引号引起的一个字符
...字符串常量是双引号引起的若干个字符
2) 含义上:
...字符常量相当于一个整形值(ASCII值),可以参加表达式运算
...字符串常量代表一个地址值(该字符串在内存中存放位置)
3) 占内存大小
...字符常量只占一个字节
...字符串常量占若干个字节(至少一个字符结束标志)
C程序大致来讲可以分为四个数据区:常量区,静态去,堆区,栈区。
常量区里存放的是一些不可改变的量,比如字符串常量。
是在同一区,int型占4字节,char型占1字节(很多连续的char就是字符串了),float型占4字节。所以这些类型都是不同大小的一个个整数,把它们用不同的方法解释就成了不同的类型;比如char型是把数字用ASCII码解释,float型是用IEEE标准解释。。。