我有一个处理一个11b的结构:C和GCC误差数组下标被上述阵列界定
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;
我的问题来自于垫[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中产生警告
错误数组下标以上是数组边界
有人可以解释我是什么意思?
Thxs
我有一个相当卷积码是GCC设法弄清楚,并警告“错误数组下标是以上数组边界所以,即使这个职位的问题是显而易见的,发现这一点。 (因为发布了匹配警告)确实有助于解决我更复杂的问题 – chux