, поэтому у меня возникают проблемы с работой этой тестовой программы. поэтому моя цель - создать и инициализировать 3D-массив в моей основной функции, а затем создать указатель на этот массив. после этого я пытаюсь передать указатель на функцию, а затем распечатать элементы в массиве, чтобы я мог видеть, как это работает. моя проблема возникает при попытке передать массив указателей tho. Может ли кто-нибудь из вас, ребята, понять, что я ошибаюсь?Передача массива 3D-указателей на функцию
#include <stdio.h>
//declare test function
void test (int*);
int main(){
//declare array and pointer
int array[2][3][2];
int (*p)[2][3][2] = &array;
int i,j,k;
//initialize array
for(i = 0; i < 2; i++){
for(j = 0; j < 3; j++){
for(k = 0; k < 2; k++){
array[i][j][k] = 0;
}
}
}
//print array
for(i = 0; i < 2; i++){
for(j = 0; j < 3; j++){
for(k = 0; k < 2; k++){
printf("%d\n", array[i][j][k]);
}
}
}
printf("----------------------------\n\n");
//pass pointer array into test function
test(p);
}
void test(int (*array2)[2][3][2]){
int i, j, k;
//run thru each element in the pointer array and print
for(i = 0; i < 2; i++){
for(j = 0; j < 3; j++){
for(k = 0; k < 2; k++){
printf("%d\n", array2[i][j][k]);
}
}
}
}
'недействительным тест (интермедиат array2 [2] [3] [2])' и 'дамп p' вещь, вызвав' тест (массив); 'и изменение прототип функции соответствует его реализации. –
Я могу сделать это, но он не будет посылать указатель массива. im пытается выяснить, как это сделать, чтобы впоследствии модифицировать массив в функции через указатель – cooldude22
Массив передал распады указателю. В определении функции указано, как ее использовать. –