我必须处理一个 lib 的结构:
typedef struct {
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
uint32_t resource_id;
uint16_t minor_code;
uint8_t major_code;
uint8_t pad0;
uint32_t pad[5];
uint32_t full_sequence;
} a_structure;
我的问题来自我不太了解的结构的 pad[5] 成员。我认为这个成员可以用作函数中的另一个成员,如下所示:
uint8_t get_response_type( a_structure * my_struct)
{
return my_struct->response_type;
}
但是这个功能:
uint32_t get_pad_5( a_structure * my_struct)
{
return my_struct->pad[5];
}
在 gcc 中生成警告
错误数组下标高于数组边界
有人可以解释一下这是什么意思吗?
谢谢