自学内容网 自学内容网

二维数组的相关案例

二维数组的遍历

方法1:

#include<stdio.h>
//1、索引方式遍历二维数组

int main() {
//二维数组的定义 3为有3个一维数组在其中,5表示每个一维数组有5个元素
int arr[3][4] = {

{1,2,3,4},
{11,22,33,44},
{111,222,333,444}
};

//外循环依次将每个一维数组输出
for (int i = 0; i < 3; i++) {
//内循环将每一个一维数组中的元素依次输出
for (int j = 0; j < 4; j++) {
printf("%d ", arr[i][j]);
}
//每输出完一个一维数组后换行
printf("\n");
}
}

方法2:

#include<stdio.h>
//该方法可以使每个一维数组的长度不固定
int main() {
//先定义一维数组

int arr1[] = { 1,2 };
int arr2[] = { 1,2,3 };
int arr3[] = { 1,2,3,4 };
//将每一个数组的长度求出并存入一个一维数组中
int len1 = sizeof(arr1) / sizeof(int);
int len2 = sizeof(arr2) / sizeof(int);
int len3 = sizeof(arr3) / sizeof(int);

int  len[] = { len1,len2,len3 };


//再将这些数组存入一个一维数组中
int* arr[3] = { arr1,arr2,arr3 };  //因为存储的数据为数组的地址所以用数组指针存放


//通过双重循环遍历
for (int i = 0; i < 3; i++) {   //遍历每个数组
for (int j = 0; j < len[i]; j++) {  //遍历对应每个数组中的所有元素
printf("%d ", arr[i][j]);
}
printf("\n");
}

}

 

 

使用指针遍历二维数组

方法1:

#include<stdio.h>
//01指针遍历二维数组
int main() {
int arr[3][5] = {
{1,2,3,4,5},
{11,22,33,44,55},
{111,222,333,444,555}
};
//获取二维数组中的首地址
int(*p)[5] = arr;
for (int i = 0; i < 3; i ++ ) {
for (int j = 0; j < 5; j++) {
printf("%d\t", *(*p + j));
}
printf("\n");
p++;
}
}

 

方法2:

#include<stdio.h>
int main() {
int arr1[] = {1,2,3,4,5};
int arr2[] = { 11,22,33,44,55 };
int arr3[] = { 111,222,333,444,555 };

int* arr[] = { arr1,arr2,arr3 };
//同过指针获取arr的首地址
int** p = arr;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
printf("%d\t", *(*p + j));
}
printf("\n");
p++;
}
}


原文地址:https://blog.csdn.net/2401_83720143/article/details/140646612

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!