//用指针数组模拟一个二维数组 int main() { int arr1[5] = { 1 ,2 ,3 ,4, 5 }; int arr2[5] = { 2,3,4,5,6 }; int arr3[5] = { 3,4,5,6,7 }; int* arr[] = { arr1, arr2, arr3 };//数组首元素的地址 //单个整型元素的地址放到整型指针数组里面 //访问arr里面的三个数组 for (int i = 0; i < 3; i++) {//访问数组里面的元素,因为数组里面有5个元素,所以要打印5次 for (int j = 0; j < 5; j++) { printf("%d ", arr[i][j]);//打印一行的元素 } printf("\n"); } return 0; } //创建三个一维数组,再将这三个数组放到一个指针数组里面 //arr[i],拿到的是arr数组里面存放的另外三个一维数组的首元素地址 //[j]访问对应数组里面下标为j的元素 //这里面arr[i]=*(arr+i) //打印后面的代码可以换成 // *(*(arr+i)+j) //*(arr+i)拿到的是一行的数组名,再+j,表示一行里面下标为j的数字,然后再解引用找到那个人数