我不知道结构和指针的这种用法



谁能帮我这行代码做什么:

((struct mac_tb_ind *) (tb_p->data))->first_bit = 0; 

结构定义如下:(tb_p是一种mem_block_t(

struct mac_tb_ind {
    unsigned char  *data_ptr;
    unsigned short  size;
    unsigned char   error_indication;
    unsigned char   first_bit;
};
typedef struct mem_block_t {
    struct mem_block_t *next;
    struct mem_block_t *previous;
    unsigned char       pool_id;
    unsigned char      *data;
} mem_block_t;

tb_p->data存储在data中的指针。

(struct mac_tb_ind *) (tb_p->data)对指针进行类型转换,以便编译器知道如何解释它

((struct mac_tb_ind *) (tb_p->data))->first_bit = 0;存储在 first_bit 中的值设置为 0

最新更新