赞
踩
就是数组中包含多个数组
int arr [m] [n] = 其中的m就是这个二维数组里有多少个一维数组(二维数组的长度)
{ 其中的n就是这个二维数组中的一维数组有多少个元素(一维数组的长度)
{1,2,3,4....},
{1,2,3,4....},
{1,2,3,4....},
};
int arr1[5] = {1,2,3,4,5};
int arr2[5] = {1,2,3,4,5};
int* arr[2] = {arr1,arr2}
要求内部数组长度一致
#include<stdio.h> int main() { int arr[3][5] = { {1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15} }; int i,j; for(j=0;j<3;j++) //外循环:每个一维数组都遍历 { for(i=0;i<5;i++) //内循环:一维数组中的每个元素都遍历 { printf("%d ",arr[j][i]); //arr[j][i]的含义就是arr中第j个数组中的第i个元素 } printf("\n"); } return 0; }
#include<stdio.h> int main() { //定义各个一维数组 int arr1[] = {1,2,3}; int arr2[] = {4,5,6,7}; int arr3[] = {8,9,10}; //计算各个一维数组的长度 //重点:要在将各个一维数组存入二维数组前计算, //因为数组参与计算的时候,会退化为第一个元素的指针,那时计算的长度就是第一个元素的长度 int len1 = sizeof(arr1) / sizeof(int); int len2 = sizeof(arr2) / sizeof(int); int len3 = sizeof(arr3) / sizeof(int); //将各个一维数组长度存入数组,方便调用 int lenArr[] = {len1,len2,len3}; //定义二维数组,将上面定义的一维数组存入 int* arr[3] = {arr1,arr2,arr3}; int i,j; for(j=0;j<3;j++) { for(i=0;i<lenArr[j];i++) { printf("%d ",arr[j][i]); } printf("\n"); } return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。