本节操作符种类
这一节主要分析单目操作符,条件操作符。
单目操作符
单目操作符主要有:
sizeof(), 求取对象的字节大小;
!,逻辑反操作;
+, 正号;
-, 负号;
++,自增操作符(其中又分为前置++, 以及后置++);
--, 自减操作符(其中又分为前置--, 以及后置--);
&,取地址符;
(类型):强制类型转换;
~, 按位取反;
*, 解引用操作符。
sizeof
sizeof不是函数!不是函数!不是函数!并且,sizeof可以用来求取一个对象的大小。一个数组,只有两种情况下其变量名不等于首地址,一个是对变量名取地址,另一个就是sizeof(数组名),这个时候,数组名代表整个数组。
!
逻辑反操作,即 !真 == 假。通常用来if或while语句中进行判断。
++
自增操作符,前置++, 后置++,两个是不相同的。前置++先用再++,后置++先++再使用。
--
自减操作符,前置--,后置--两个是不同的。前置--先用再--,后置--先--在使用
&
取地址符,即对一个变量进行取地址操作,得到变量的地址。
(类型)
强制类型转换,强制类型转换不同于隐式类型转换,是由人们自己进行操作的。而隐式类型转换是由编译器在某个场景下自己进行的行为。
~
按位取反,注意,这里的“位”,是二进制位。而按位取反的意思就是将一块内存中的数据,每个二进制位都进行取反操作(即令1变0,0变1)。
关于*,+,-操作符这里不进行解释。需要注意的是*与指针位移结合使用时可以写成数组的形式比如*(arr + 3) = arr[3] = *(3 + arr) = 3[arr]; 这些都是正确的。
条件操作符
条件操作符只有一个,也是唯一一个c语言中的三目操作符。
这个操作符就是 表达式1?表达式2:表达式3
如果表达式1为真,就执行表达式2,如果为假,就执行表达式3。所以条件操作符具有运算控制性。