Путаница с указателем переменной 2D-массива

У меня есть серьезные сомнения в отношении 2D-массивов (язык C). Рассмотрим объявление 2D-массива следующим образом

int array[3][5];

Теперь, когда я делаю следующее, результат обоих нижеприведенных printf одинаков:

printf("%u\n", array);
printf("%u\n", *(array));

Теперь, когда я пытаюсь выполнить следующее:

printf("%u\n", array+1);
printf("%u\n", *(array)+1);

Выходы разные. Я понимаю, что второй printf относится к массиву [0] [1], а первый - к array [1] [0]. Как это работает? массив - это указатель на что?

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

5
задан Kaushik Balasubramanain 25 December 2011 в 14:35
поделиться