Вот с тем как использовать указатель на одномерный массив в функции понятно, но проблема возникает, если работа идет с, например, двумерными массивами. Если у функции формальные параметры описать как массивы, то все вполне работает, а,вот, описать, используя синтаксис именно как указателей не получается. Пример:
#include<stdio.h>
#define COLS 4
void print_array(int arr[][COLS], int column, int row);
int main()
{
int arr[4][4] = { {0,1,2,3},{0,1,2,8} };
print_array(arr, 2, 4);
print_array2(arr, 2, 4);
return 0;
}
void print_array(int arr [][COLS], int column, int row)
{
for (int i = 0; i < column; i++)
{
printf("\n");
for (int j = 0; j < row; j++)
{
printf("%d",arr[i][j]);
}
}
}