我对为变量和文字常量赋值给我感到有点困惑。
例如:
int age = 20;
age
是一个变量,20
是分配给它的值。
和
int AGE = 20;
AGE
是字面常量,20
是分配给它的值。
有什么区别?常量会将主内存中的两个字节作为变量吗?
答案 0 :(得分:9)
你确实很困惑:
int age = 20;
将整数值20赋给变量age
。
int AGE = 20;
将整数值20赋给变量AGE
。
没有区别。
答案 1 :(得分:4)
int AGE = 20;
AGE是文字常量,20是分配给它的值。
不,AGE
是一个变量,与age
相同(但名称不同)。
宣布一个常数:
const int AGE = 20;
直接使用文字常量(现代C ++中不鼓励):
#define AGE 20 // every time you use AGE, the literal "20" will be used instead
答案 2 :(得分:2)
你的情况没有区别:
int age = 20;
是一个名为" age"的变量。价值20。
int AGE = 20;
是一个名为" AGE"的变量。价值20。
如果要使用const
前缀在代码中声明具有特定类型的常量:
const int AGE = 20;
在其他情况下,您可以使用#define
预处理器:
#define AGE 20;
变量和常量(或文字常量)之间的差异是,一旦定义了常量,就不能改变它的值。
答案 3 :(得分:1)
AGE是文字常量,20是分配给它的值。
不正确!
您无法为文字常量指定值。文字常量是赋给变量的值。
我最初感到困惑,因为我的教科书和在线资源给出了“int mynum = 20;”作为文字常量的一个例子,“int anum = 20;”作为变量的一个例子。
直到我读了100多次,才意识到“mynum”和“anum”都是变量而20是文字常量。
答案 4 :(得分:0)
常量文字就像常规变量一样,占用相同的大小。唯一的区别是常量变量的值不能改变。我们使用关键字const
来表示常量变量
const int AGE=20;
我们将常量变量大写以区别于常规变量。
答案 5 :(得分:0)
int AGE = 20;
AGE是文字常量,20是分配给它的值。
AGE只是一个变量名,20是一个文字常量。更多信息http://www.cplusplus.com/doc/tutorial/constants/