Массив с размером 0

Сегодня я случайно определил двумерный массив с размером одного измерения равным 0, однако мой компилятор не жаловался. Я нашел следующее, в котором говорится, что это законно, по крайней мере, в случае gcc:

6.17 Массивы нулевой длины

Однако у меня есть два вопроса по поводу этого использования:

Во-первых, считается ли это хорошим практика программирования? Если да, то когда мы должны использовать его в реальном мире?

Во-вторых, массив, который я определил, был двухмерным, с размером 0 для одного измерения. Это то же самое, что и одномерный случай? Например,

int s[0]
int s[0][100]
int s[100][0]

Все ли они одинаковы в памяти и для компилятора?

РЕДАКТИРОВАТЬ: Ответ Грегу: Я использую компилятор gcc 4.4.5. Мое намерение решить эту проблему не зависит от компилятора, однако, если есть какие-то специфические особенности компилятора, которые тоже были бы полезны :)

Заранее спасибо!

32
задан zw324 13 July 2011 в 14:05
поделиться