1.赋值运算符“=”
1.1定义一个变量
举例: int i;
根据《狂人C》并结合自己的理解,在此试图解释一下上面这个语句的含义(严格来说不是语句)。使用某些函数在内存中开辟出32ibits大小的存储空间,并命名为变量i。在给变量i赋值,也就是说新数据写入这块名叫i的内存区域之前,里面存储的可能是内存初始化/聚合过程中遗留下来的一些废弃数值。因而当我们打印i的值(赋值前)时会得到一些奇奇怪怪的数据。
1.1给变量赋值
给变量赋值是一种操作,是动词,也就是需要用到运算符,即赋值运算符“=”。
举例:i = 1;
将这一个语句翻译成机器指令后,CPU知道要将1写入i这个存储空间之内。如果是补码表示,那么此时32bits大小的i中存的就是0000 0000 0000 0000 0000 0000 0000 0001。“=”读作“赋值”,“i = 1”读作将1赋值给变量i。C中等于是“==”,千万得克服惯性思维。
2.复合赋值运算符
2.1复合赋值运算符
如+=、=就是复合赋值运算符了,是以赋值运算符为基础进行的运算符扩展。=的含义是求运算符两边的操作数的积,其副作用就是将运算结果存在左边的变量中。
举例:i =2;
其含义等价于: i = i2;意思是将存储空间i中的值和2相乘再存放回存储空间i。分析到此,可以知道变量i有两重含义:第一是表示内存中一块存储空间;第二是表示这个存储空间所存放的值。
2.2 常见复合赋值运算符
+=
-=
=
/=
%=
意思就不解释了,参照上面对=的解释。