c语言基础-运算符
运算符优先级:
运算符一共15个优先级,1~15 数值越小,优先级越高,就先运算
同种优先级,不全是从左向右运算,看结合性(自左向右,自右向左)
优先级1:自左向右
() 程序当中有括号,先算括号
[] 数组的声明和元素的引用
. 结构体成员的引用
-> 结构体指针引用结构体成员
优先级2:自右向左
.- 负 单目运算符
.~ 按位取反 二进制0-1 1-0 0x3F – 0011 1111 – 1100 0000 – 0xC0
++ 自加运算 ++在前先加一再引用 ++在后先引用后加一 b=6; a=b++; // a 6 b 7
– 自减运算 在前先减再用 在后先用再减 b=6; a=–b; // a 5 b 5
.* 取值符号 单目运算符 int a=3; int p=&a;//这里的不是运算符,只是声明指针类型 p=5; // * 这里的就是运算符 取值 取p指向地址当中的值
& 取地址 单目运算符
! 逻辑非
(类型) 强制类型转换 float a=3.14; int b=(int)a;
sizeof 求数据所占存储空间的大小 注意sizeof并不是函数,而是运算符
优先级3:自左向右
/ 除
- 乘
% 取余 只能用于整数