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还没有被初始化。