Я написал небольшую программу, чтобы обрисовать в общих чертах мою проблему. Он должен вывести значения «ary» на экран. Если я использую «ary» напрямую, нет проблем. Но я хочу получить доступ к "ary" по ссылке:
#include <stdio.h>
#include <stdlib.h>
#define NUM_X (4)
#define NUM_Y (4)
int ary[NUM_X][NUM_Y] =
{
{11, 12, 13, 14},
{21, 22, 23, 24},
{31, 32, 33, 34},
{41, 42, 43, 44},
};
void printAry(int *ppAry[])
{
int i, j;
for(i = 0; i < NUM_X; ++i)
{
for(j = 0; j < NUM_Y; ++j)
//printf("%d\t", ary[i][j]);
printf("%d\t", ppAry[i][j]);
printf("\n");
}
}
int main()
{
int **ppAry = &(ary[0][0]);
printAry(ppAry);
return 0;
}
Если вы запустите приведенную выше программу, вы получите ошибку времени выполнения, потому что ppAry, я думаю, не является правильной ссылкой. Как мне изменить ppAry, чтобы это работало?