int a,b;a=8;b=8;这首先是一个定义变量并给变量赋值,实际上并没有涉及到常量,呵呵,但是它们有不同的地址,因为它们的变量名不同,地址是根据变量名分配地址的,那么常量呢,它也是有地址的,只是和变量存贮的地方不同,但是存储的形式是一样的,就是在内存的地方不同,内存中有专门放常量的,通过存储方法的角度是区分不了变量和常量的,只能通过其存储的值是否变化来区分(以人的角度),和存放的地点不同区分(机器的角度)
Ⅱ c语言中,常量是存放在内存中吗
关键的是,常量和变量是放在不同的"段"(section)里,程序一旦加载,常量/变量自然都在内存里了。
常量和全程变量,通常放在初始化段;局部变量,通常在栈里;
还有一种情况,比如汇编里的立即数(mov
ax,
12),它是直接放在指令里的,也即是代码段里.
Ⅲ C语言常量和表达式有地址吗怎么读取
这个情况比较多,不过一般说以下两种情况下的常量是有地址的:
1、如果是以const关键字修饰变量而产生的“不可变变量”的话,是有地址的,如const
int
a
=
0。
但是严格来说const修饰只是产生了不可变变量,并不是严格意义上的常量。
2、字符串常量,例如
char
*a
=
"abc";那么字符串“abc”就是一个字面值字符串,这是一个常量,其地址就是这个字符串第一个字符所在的地址。
再有像是字面值数字
"int
a
=
5"里边的5,是没有地址的。
表达式本身作为代码,并不拥有地址。但是用来组成表达式的变量或常量是可以拥有地址的。
获取一个常量或变量的地址可以用“&”取址符,例如:
const
int
b
=
0;
const
int
*
pb
=
&b;
那么pb里边就是b的地址了。
Ⅳ C语言和C++中符号常量的存储方式和位置
#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
似乎不包含符号的意思。
Ⅳ c语言中常量的定义放在什么位置
比如
#define
P
3.14159
P就是一个宏定义的常量
等于3.14159
开头就定义,include下面
Ⅵ 请问c语言里常量有固定存储地址吗
这是这样子的陪罩歼,当你定义一个变量a,b以后,这时在内存中就产生了两个地址,再给两个地址存储值,这芦冲个8就是存闷祥储在a,b地址中的值。
8是一个值,如果没有定义在内存中是没有的,当你定义一个变量以后,产生了一个地址,这个地址中存了一个数值8。