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
數組通過衰減到指針。函數定義告訴如何使用它。 –