Я знаю, что иногда matrix[x][y]
(x, y оба даны) можно заменить на *(*(matrix+x)+y)
. Но можем ли мы использовать разыменование только один раз, чтобы получить специально назначенное (например, matrix[2][3]
) значение?
#include<stdio.h>
int main()
{
int matrix[3][4]={
{1,2,3,4},{5,6,7,8},
{9,10,11,12}};
printf("%d\n",matrix[2][3]);
printf("%d",*(matrix+2*4+3));
return 0;
}
Вывод:
12
6422400