指向结构体变量的指针。
来源:互联网 发布:软件编程家教 编辑:程序博客网 时间:2024/05/03 18:29
这两天调程序,在指向结构体变量指针这一块还有&运算符搞得不是很明白,下面是那段程序仔细研究一下。
typedef struct _USB_DOWN_PACKET //下传的数据包结构,用于命令/写数据
{
UINT8 mCommand; /* 命令码,见下面的定义 */
UINT8 mCommandNot; /* 命令码的反码,用于校验下传数据包 */
union
{
UINT8 mByte[4]; /* 通用参数 */
UINT16 mWord[2]; /* 通用参数,低字节在前,Little-Endian */
UINT32 mDword; /* 通用参数,低字节在前,Little-Endian */
void *mAddress; /* 读写操作的起始地址,低字节在前,Little-Endian */
} u;
UINT8 mLength; /* 下面的缓冲区的长度,读写操作的字节数 */
UINT8 mBuffer[ MAX_DATA_SIZE ]; /* 数据缓冲区 */
} USB_DOWN_PKT;
typedef struct _USB_UP_PACKET //上传的数据包结构,用于状态/读数据
{
UINT8 mStatus; /* 状态码,见下面的定义 */
UINT8 mCommandNot; /* 命令码的反码,用于校验上传数据包 */
UINT8 mReserved[4];
UINT8 mLength; /* 下面的缓冲区的长度,读操作的字节数 */
UINT8 mBuffer[ MAX_DATA_SIZE ]; /* 数据缓冲区 */
} USB_UP_PKT;
typedef union _USB_DATA_PACKET //USB上传或者下传数据缓冲区,利用一个共用体把上传和下传的数据缓冲区放在同一个存储空间里,这样比较节省存储空间。
{
USB_DOWN_PKT down;
USB_UP_PKT up;
} USB_DATA_PKT;
unsigned char *buf;
#define pudp ( (USB_DATA_PKT *)&buf )
尤其是对这个预定义的强制类型转换不是很明白,在这里是吧buf进行强制类型转换,转换为指向USB_DATA_PKT类型的指针并指向buf。
还有如下面类型的结构体定义,
struct Student
//声明结构体类型student
{ int num;
char sex;
float score;
};
struct Student stu;
//定义Student类型的变量stu
struct Student *p=&stu;
//定义p为指向Student类型数据的指针变量并指向stu
- 指向结构体变量的指针。
- 指向结构体变量的指针
- 指向结构体变量的指针
- 指向结构体变量的指针
- 指向结构体变量的指针
- 【C++】指向结构体变量的指针
- C++指向结构体变量的指针
- C++指向结构体变量的指针
- 指向结构变量的指针
- 指向结构变量的指针
- 【C语言经典实例】-指向结构体的指针变量
- 指向结构类型变量的指针
- 通过指向结构体变量的指针变量输出结构体变量中成员的信息
- 指向结构体变量的指针引用结构体变量的成员
- 指向结构体的指针
- 指向结构体的指针
- 指向结构体的指针
- 指向结构体的指针
- JPG图片的使用
- 使用repo+git获取meego源码
- 使用Linux自带的gssftp服务
- poj 1324
- 0.0/0.0的问题
- 指向结构体变量的指针。
- 分享一个 C#下控制服务的方法
- 设计模式的分类
- multiple definition of 变量重复定义
- jquery之生成新HTML($()的使用)
- 逗号表达式
- Struts2教程1:第一个Struts2程序
- how to get detail system info on MAC?
- Object-C 基础之0 — object c简介