变量分配和文字常量之间的区别?

Difference between variable assigning and literal constant?

我对给变量和文字常量赋值有点困惑。

例如:

int age = 20;

age是一个变量,20是赋给它的值

并且:

int AGE = 20; 

AGE是文字常量,20是分配给它的值。

有什么区别?常量会在主存中使用与变量相同的两个字节吗?

你确实糊涂了:

 int age = 20;

将整数值 20 分配给变量 age

int AGE = 20;

将整数值 20 赋给变量 AGE

没有区别。

int AGE = 20; 

AGE is literal constant, 20 is the value assigned to it.

不,AGE是一个变量,与age相同(但名称不同)。

声明常量:

const int AGE = 20;

直接使用文字常量(现代 C++ 不鼓励这样做):

#define AGE 20 // every time you use AGE, the literal "20" will be used instead

常量文字就像常规变量一样,占用相同的大小。唯一的区别是常量变量的值不能改变。我们用关键字const表示常量变量

const int AGE=20;

我们将常量变量大写只是为了区别于常规变量。

  int AGE = 20; 

AGE is literal constant, 20 is the value assigned to it.

AGE 只是一个变量名,20 是一个常量。更多信息 http://www.cplusplus.com/doc/tutorial/constants/

你的情况没有区别:

int age = 20;

是一个名为 "age" 的变量,值为 20。

int AGE = 20;

是一个名为 "AGE" 的变量,值为 20。

如果您想在代码中使用 const 前缀声明具有特定类型的常量:

const int AGE = 20;

在其他情况下,您可以使用 #define 预处理器:

#define AGE 20;

变量和常量(或文字常量)之间的区别在于常量一旦定义,就不能更改它的值。

AGE is literal constant, 20 is the value assigned to it.

不正确!

您不能为文字常量赋值。文字常量是分配给变量的值。

我最初感到困惑是因为我的教科书和在线资源将 "int mynum = 20;" 作为文字常量的示例,将 "int anum = 20;" 作为变量的示例。

直到我读了 100 多遍,我才意识到 "mynum" 和 "anum" 都是变量,而 20 是字面常量。