比如uint8_t cube[5][5][5];要在函數內處理數組內的數據並能返回值,肯定是傳入三維數組的地址。函數定義時形參不知道怎麼寫才行??void process(uint8_t ????);
1)void process(uint8_t cube[5][5][5]);
2)void process(uint8_t cube[][5][5]);
3)void process(uint8_t (cube*)[5][5]); ///1)<==>2)<==>3)
4)void process(uint8_t *cube,int m,int n,int r); //這種方式最靈活
process(cube[0][0],5,5,5);
或者
process(&cube[0][0][0],5,5,5); 如果覺得 這兩種寫法不方便,可以強制轉換
process((uint8_t *)(void *)cube,5,5,5);