一维数组传参
void test1(int arr[5]) {}
void test1(int arr[]) {}
void test1(int * arr) {}
void test2(int* arr[5]) {}
void test2(int* arr[]) {}
void test2(int** arr) {}
int main() {
int arr1[5] = { 0 };
int* arr2[5] = { 0 };
test1(arr1);
test2(arr2);
return 0;
}
二维数组传参
void test(int arr[3][5]) {}
void test(int arr[][5]) {}
void test(int(*arr)[5]) {}
int main() {
int arr[3][5] = { 0 };
test(arr);
return 0;
}
一级指针传参
void test (int * p) {}
int main () {
int num = 10;
int * p = #
int arr[10] = {0};
test(&num);
test(p);
test(arr);
}
二级指针传参
void test (int ** p) {}
int main () {
int num = 10;
int * p = #
int** pp = &p;
int* arr[10] = {0};
test(&p);
test(pp);
test(arr);
}