Linux C 开发中重要的数据结构——结构体
在Linux的驱动开发中,最常用的,也最重要的数据结构是结构体,它也最容易使人混淆。要掌握结构体,首先要弄明白运算符的优先级:
在所有运算符中,下面4个运算符的优先级是最高的:结构体运算符“.”和“->”、用与函数调用的“()”以及用于下标的“[]”,因此它们同操作数之间的结合也最紧密。
例如对:
struct {
int len;
char *str;
}*p;
表达式
++p->len :增加len的值,其中的隐含括号关系是++(p->len)
(++p)->len: 先执行p的加1操作,再取len的值
(p++)->len: 先取len的值,再执行p的加1操作
*p->str: 取指针str所指向的对象的值
*p->str++:先取指针str所指向的对象的值,然后将str加1
(*p->str)++:先取指针str所指向的对象的值,然后将对象值加1
*p++ ->str:先取指针str所指向的对象的值,然后将P值加1
相关推荐
stulen 2020-08-15
fengzhiwu 2020-08-01
liusarazhang 2020-06-28
xiaobaif 2020-06-14
lemonzhangyan 2020-06-13
Crazyshark 2020-06-13
weikaixxxxxx 2020-06-13
有梦就能实现 2020-06-10
shengnanonly 2020-06-03
oraclemch 2020-05-30
poplpsure 2020-05-27
fujuan000 2020-04-30
zuihaobushi 2020-04-30
luckymaoyy 2020-04-29
xiaoseyihe 2020-04-28
JackLang 2020-04-25
菇星獨行 2020-04-20
jyj00 2020-03-26