C专家编程第二天

时间:2021-02-20 17:10:34

操作符及其优先级

static :在函数内部,表示该变量的值在各个调用之间一直保持延续性。

              在函数这一级,表示该函数只对本文件可见。

extern:用于函数定义,表示全局可见。

              用于变量,表示它在其他地方定义。

 

优先级

表达式

实际结果

可能误认为的结果

.的优先级高于* *p.f

对p取f偏移,作为指针,然后

进行解除 引用操作。*(p.f)

p所指对象的字段f,(*p).f
[ ]高于* int *ap[] ap是一个数组,数组存储int指针 ap是个指向int数组的指针,int(*ap)[ ]
函数()高于* int *fp() fp是个函数,返回int*,int *(fp()) fp是个函数指针,所指函数返回int,int (*fp)()
==和!=高于位操作符 (val & mask != 0) val & (mask != 0) (val & mask) != 0
算术运算符高于移位运算符 msb << 4+lsb msb << (4 + lsb) (msb << 4) + lsb
->的优先级高于* *p->f *(p->f)