C++ 数组作为参数的传递
//#include <iostream> //#include <conio.h> //using namespace std; // // //void are7(int(&arr)[3][4]); //引用的方式 //void are6(int(*arr)[3][4]); //二维数组指针的方式 //void are5(int *arr, int, int); //一维指针方式 //void are4(int **arr, int, int); //动态分配 //void are3(int(*arr)[4], int); //传入高 //void are2(int arr[][4], int); //传入高 //void are1(int arr[][4]); //高不用填,但一定要一个列 // //int main() //{ // //int arr2[3][4] = { // // { 1, 2, 3 }, // // { 4, 5, 6, 7 }, // // { 8, 9, 10, 11 }, // //}; // //are1(arr2);//二维数组直接传递,退化为指针 // //are2(arr2, 3); // //are3(arr2,3); // //int *p = &arr2[0][0]; // //are4(&p, 3, 4); // //are5((int*)arr2,3,4); // //are5(arr2[0],3,4); // //are6(&arr2); // //are7(arr2); // system("pause"); // return 0; //} //void are1(int arr[][4]) //{ // for (int i = 0; i < 3; i++) // { // for (int j = 0; j < 4; j++) // { // cout << arr[i][j] << " "; // } // cout << endl; // } //} //void are2(int arr[][4], int len) //{ // for (int i = 0; i < len; i++) // { // for (int j = 0; j < 4; j++) // { // cout << arr[i][j] << " "; // } // cout << endl; // } //} //void are3(int(*arr)[4], int len) //{ // for (int i = 0; i < len; i++) // { // for (int j = 0; j < 4; j++) // { // std::cout << arr[i][j] << " "; // } // std::cout << std::endl; // } //} //void are4(int **arr, int len, int row) //{ // arr = new int*[len]; // for (int i = 0; i < len; i++) // { // arr[i] = new int[row]; // } // for (int i = 0; i < len; i++) // { // for (int j = 0; j < row; j++) // { // std::cout << arr[i][j] << " "; // } // std::cout << std::endl; // } //} //void are5(int *arr, int len, int row) //{ // for (int i = 0; i < len; i++) // { // for (int j = 0; j < row; j++) // { // std::cout << arr[j + i * row] << " "; // } // std::cout << std::endl; // } //} //void are6(int(*arr)[3][4]) //{ // for (int i = 0; i < 3; i++) // { // for (int j = 0; j < 4; j++) // { // std::cout << (*arr)[i][j] << " "; // } // std::cout << std::endl; // } //} //void are7(int(&arr)[3][4]) //{ // for (int i = 0; i < 3; i++) // { // for (int j = 0; j < 4; j++) // { // std::cout << arr[i][j] << " "; // } // std::cout << std::endl; // } //}