1
所以我有问题使这个测试程序工作。所以我的目标是在主函数中创建并初始化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]);
}
}
}
}
'空隙测试(INT数组2 [2] [3] [2])'和通过调用'试验(阵列)转储'p'东西;'和变化函数原型来匹配它的实现。 –
我可以做到这一点,但它不会发送数组的指针。即时通讯试图找出如何做到这一点,以便我可以稍后修改函数中的数组通过指针 – cooldude22
数组通过衰减到指针。函数定义告诉如何使用它。 –