C中的声明语句和赋值语句之间的区别?

我是编程和尝试学习C的新手。我正在读一本书,在那里我读到了这些陈述但却无法理解它们的含义。

宣言:

int a; 

分配:

 a = 3; 

在一份声明中声明和转让:

 int a = 3; 

声明说:“我将使用名为” a “的变量来存储整数值。” 分配说,“将值3放入变量a 。”

(正如@delnan指出的那样,我的最后一个例子是技术上的初始化 ,因为你要指定变量的起始值,而不是更改值。初始化具有特殊的语法,也支持指定结构或数组的内容。)

声明变量会将其设置为在代码中的稍后时间点使用。 您可以创建变量来保存数字,字符,字符串(字符数组)等。

您可以声明变量而不给它赋值。 但是,在变量有值之前,它不是很有用。

你声明一个像这样的变量: char myChar; 注意:此变量未初始化。

声明变量后,您可以为其赋值,例如: myChar = 'a'; 注意:为myChar分配值会初始化变量。

为了使事情变得更容易,如果你在声明它时知道变量应该是什么,你可以简单地声明它并在一个语句中为它赋值: char myChar = 'a'; 注意:这声明并初始化变量。

因此,一旦为myChar变量赋值,就可以在其他地方的代码中使用它。 例:

 char myChar = 'a'; char myOtherChar = 'b'; printf("myChar: %c\nmyOtherChar: %c", myChar, myOtherChar); 

这会将myChar和myOtherChar的值打印到stdout(控制台),看起来像:

 myChar: a myOtherChar: b 

如果你已经宣布了char myChar; 没有给它赋值,然后尝试将myChar打印到stdout,你会收到一个错误,告诉你myChar还没有被初始化。