[C语言] 结构体嵌套问题

[复制链接]
1376|5
 楼主| chenyu988 发表于 2015-10-10 10:38 | 显示全部楼层 |阅读模式
typedef struct __AJ_SlippedBuffer {
    uint8_t* buffer;
    uint16_t allocatedLen;
    uint16_t actualLen;
    struct __AJ_SlippedBuffer volatile* next;
} AJ_SlippedBuffer;

这个是否合法。
 楼主| chenyu988 发表于 2015-10-10 10:41 | 显示全部楼层
链表和数据结构要看看
 楼主| chenyu988 发表于 2015-10-10 10:43 | 显示全部楼层
typedef struct __AJ_SlippedBuffer {
    uint8_t* buffer;
    uint16_t allocatedLen;
    uint16_t actualLen;
    struct __AJ_SlippedBuffer volatile next;
} AJ_SlippedBuffer;

这个是否合法呢。
ayb_ice 发表于 2015-10-10 11:53 | 显示全部楼层
chenyu988 发表于 2015-10-10 10:43
typedef struct __AJ_SlippedBuffer {
    uint8_t* buffer;
    uint16_t allocatedLen;

这外肯定不行的,这样子子孙孙无穷无尽
 楼主| chenyu988 发表于 2015-10-10 13:30 | 显示全部楼层
ayb_ice 发表于 2015-10-10 11:53
这外肯定不行的,这样子子孙孙无穷无尽

32位下:
AJ_SlippedBuffer volatile* bufferRxQueue;

typedef struct __AJ_SlippedBuffer {
    uint8_t* buffer;
    uint16_t allocatedLen;
    uint16_t actualLen;
    struct __AJ_SlippedBuffer volatile* next;
} AJ_SlippedBuffer;
对于struct __AJ_SlippedBuffer volatile* next;t是不是相当于只包含uint8_t* buffer;和uint16_t allocatedLen两个变量?
ayb_ice 发表于 2015-10-10 13:48 | 显示全部楼层
本帖最后由 ayb_ice 于 2015-10-10 13:50 编辑
chenyu988 发表于 2015-10-10 13:30
32位下:
AJ_SlippedBuffer volatile* bufferRxQueue;

这就是典型的链表结构,百度下就明白了
成员多包含了一个指针而已,指向与自己结构一样的结构体而已,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

47

主题

1107

帖子

14

粉丝
快速回复 在线客服 返回列表 返回顶部