У меня следующий домашний вопрос:
Consider the following declarations and answer the question.
char strarr1[10][32];
char *strarr2[10];
Are strarr1[3][4] and strarr2[3][4] both legal references?
Я попытался скомпилировать код с помощью gcc, чтобы протестировать его. Я был совершенно уверен, что вторая ссылка выдаст ошибку, но это не так. Вот что я скомпилировал с gcc:
int main(void){
char strarr1[10][32];
char *strarr2[10];
char x = strarr1[3][4];
char y = strarr2[3][4];
return 0;
}
Я работаю в предположении, что использованный мной тестовый код верен.
Как можно ссылаться на strarr2 [3] [4], когда strarr2 является одномерным массивом?