Обратите внимание, что существует разница между двумерным массивом и массивом указателей (см. этот вопрос ). В зависимости от того, что вы делаете в main()
, это может быть вашей проблемой. Например, следующее не будет работать с функцией как есть, так как она передает указатель на память, содержащую массив массивов:
int arr[2][5] = { { 56, 7, 25, 89, 4 },
{ -23, -56, 2, 99, -12 } };
findfirstsmall (2, 5, arr);
Однако это будет нормально, поскольку он передает массив указателей в начало каждого подмассива arr
:
int arr[2][5] = { { 56, 7, 25, 89, 4 },
{ -23, -56, 2, 99, -12 } };
int *tmp[2];
tmp[0] = &arr[0][0];
tmp[1] = &arr[1][0];
findfirstsmall (2, 5, tmp);