linux C 开发中重要的数据结构——结构体
来源:互联网 发布:ppt模板软件 编辑:程序博客网 时间:2024/05/22 12:06
在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
在所有运算符中,下面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
0 0
- linux C 中重要的数据结构——结构体
- linux C 开发中重要的数据结构——结构体
- linux C 开发中重要的数据结构——结构体
- linux C 开发中重要的数据结构——结构体
- linux网络设备中重要的数据结构
- Linux驱动编程——一些重要的数据结构
- 网络中几个重要的结构体
- 关于C/C++数据结构中结构体的定义
- linux设备驱动中重要的3个数据结构
- Linux内核中一些重要的数据结构(一)
- Linux内核中一些重要的数据结构(二)
- Linux重要的目录结构
- Linux c 开发 - 结构体
- Postgres中重要的数据结构
- spring中重要的数据结构
- 《Linux驱动开发详解》——LCD设备驱动重要数据结构及驱动框架
- Linux USB 驱动开发(二)—— USB 驱动几个重要数据结构
- Linux USB 驱动开发(二)—— USB 驱动几个重要数据结构
- 微信开发学习网址
- js学习脚本1
- 通过a连接下载服务器上的pdf文件
- npm 初识
- STM32的can2和CAN1竟然有关联?!!!
- linux C 开发中重要的数据结构——结构体
- windows下使用Git客户端拉取服务器文件免用户名密码方法
- ANDROID内存优化(大汇总——全)
- CodeForces 616 B. Dinner with Emma(水~)
- Eclipse 搭建 struts2 spring mybitas 框架
- 如何使用 Xcode Targets 管理开发和生产版本?
- Eclipse解决bug:JDK是8.0,打不开eclipse ——诺诺"涂鸦"记忆
- 计算机网络——2.网络硬件设备工作原理
- CAS 介绍 单点登录认证系统