int a[2][4]={{2 ,0 ,0 ,2},{41 ,0, 0, 9}};
int (*p)[4]=a;
for (i = 0; i < 2; i++)
for (j = 0; j < 4; j++)
printf("%d\n", p[i][j]);
Вы можете получить доступ к элементам массива с помощью p
, как если бы это было a
.Причина этого в том, что когда вы используете имя a
в контексте значения, его тип уже равен int (*)[4]
, поэтому тот же тип, что и у p.
Обратите внимание, что форма p[i][j]
в Cэквивалентно *(*p + i) + j)
.