我有一個處理一個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