Двумерные массивы и указатели

У меня есть следующий фрагмент кода:

char board[3][3] = {
                     {'1','2','3'},
                     {'4','5','6'},
                     {'7','8','9'}
                   };

printf("address of board : %p\n", &board);
printf("address of board[0] : %p\n", &board[0]);

Оба оператора printf () печатают одно и то же значение: 0x0013ff67

  1. Насколько мне известно, board ( т.е.) имя массива представляет адрес первого подмассива (т.е. доска [0] и

  2. доска [0] ] представляет адрес первого элемента в первом массиве (т.е.) board [0] [0]

Почему я получаю один и тот же адрес во всех моих операторах printf () ? Я ожидаю, что у обоих операторов разные адреса.

Я новичок в этом материале и не понимаю этого поведения. Пожалуйста, просветите меня.

7
задан intex0075 29 December 2011 в 15:37
поделиться