Сегодня я случайно определил двумерный массив с размером одного измерения равным 0, однако мой компилятор не жаловался. Я нашел следующее, в котором говорится, что это законно, по крайней мере, в случае gcc:
Однако у меня есть два вопроса по поводу этого использования:
Во-первых, считается ли это хорошим практика программирования? Если да, то когда мы должны использовать его в реальном мире?
Во-вторых, массив, который я определил, был двухмерным, с размером 0 для одного измерения. Это то же самое, что и одномерный случай? Например,
int s[0]
int s[0][100]
int s[100][0]
Все ли они одинаковы в памяти и для компилятора?
РЕДАКТИРОВАТЬ: Ответ Грегу: Я использую компилятор gcc 4.4.5. Мое намерение решить эту проблему не зависит от компилятора, однако, если есть какие-то специфические особенности компилятора, которые тоже были бы полезны :)
Заранее спасибо!