赋值

  定义了变量之后,我们要把值存到它们所表示的存储空间里,可以用赋值(Assignment)语句实
现:

  char firstletter;
  int hour, minute;
  firstletter = 'a'; /* give firstletter the value 'a' */
  hour = 11; /* assign the value 11 to hour */
  minute = 59; /* set minute to 59 */

  注意变量一定要先声明后使用,编译器必须先看到变量声明,才知道 firstletter 、 hour 和 minute 是

变量名,各自代表一块存储空间。另外,变量声明中的类型表明这个变量代表多大的一块存储空间,这样编

译器才知道如何读写这块存储空间。

  还要注意,这里的等号不表示数学里的相等关系,和1+1=2的等号是不同的,这里的等号表示赋值。在数

学上不会有 i=i+1 这种等式成立,而在C语言中表示把变量 i 的存储空间中的值取出来,再加上1,得到的结

果再存回 i 的存储空间中。再比如,在数学上 a=7 和 7=a 是一样的,而在C语言中后者是不合法的。总结一

下:定义一个变量,就是分配一块存储空间并给它命名;给一个变量赋值,就是把一个值保存到这块存储空间中。

变量的定义和赋值也可以一步完成,这称为变量的初始化(Initialization),例如要达到上面代码的效果也可以

这样写:

  char firstletter = 'a';
  int hour = 11, minute = 59;

  在初始化语句中,等号右边的值叫做Initializer,例如上面的 'a' 、11和59。注意,初始化是一种特殊的声明,

而不是一种赋值语句。就目前来看,先定义一个变量再给它赋值和定义这个变量的同时给它初始化所达到的效果是

一样的,C语言的很多语法规则既适用于赋值也适用于初始化,但在以后的学习中你也会了解到它们之间的不同,请

在学习过程中注意总结赋值和初始化的相同和不同之处。

  既然可以为变量的存储空间赋值,就应该可以把值取出来用,现在我们取出这些变量的值用 printf 打印:

  printf("Current time is %d:%d", hour, minute);

  变量名用在等号左边表示赋值,而用在 printf 中表示把它的存储空间中的值取出来替换在那里。不同类型的变量

所占的存储空间大小是不同的,数据表示方式也不同,变量的最小存储单位是字节(Byte),在C语言中 char 型变量

占一个字节,其它类型的变量占多少字节在不同平台上有不同的规定。

posted @ 2015-01-22 12:06  长悟  阅读(394)  评论(0编辑  收藏  举报