优秀的编程知识分享平台

网站首页 > 技术文章 正文

你完全掌握了C语言数据类型——数组了吗?带你了解二维数组!

nanyue 2024-09-21 19:54:52 技术文章 5 ℃

上一章咱们讲了数组的初始化,本章讲的是数组中的二维数组!

二维数组:数组元素是双下标变量的数组。

C语言、C++学习、基础教程、项目实战请加群231662552

数据类型数组名[行][列];

仍然是连续存放的。

1、初始化

A、一般形式

int arr[3][3] = {

{ 18, 20, 26 },

{ 35, 10, 23 },

{ 24, 32, 58 } };

B、省去里面的{}

int arr1[3][3] = { 18, 20, 26,

35, 10, 23,

24, 32, 58 };

C、//只能省略行下标,不能省略列下标

int arr2[][3] = { 18, 20, 26,

35, 10, 23,

24, 32, 58 };

D、int arr2[][3] = { 0 }; //arr[0][0]=0; 整个数组都是0

2、赋值

大写加粗的注意:数组的大小为n 数组下标就是从 0 ----- n-1

int n;

for (i = 0; i < 2;i++)

{

for (j = 0; j < 4;j++)

{

for (n = 0; n < 6; n++)

{

printf("0\t");

}

}

}

实例::

#include <stdio.h>

int main()

{

//二维数组的初始化

//int arr[3][3] = {

// { 18, 20, 26 },

// { 35, 10, 23 },

// { 24, 32, 58 } };

//int arr1[3][3] = { 18, 20, 26,

// 35, 10, 23,

// 24, 32, 58 };

//int arr2[][3] = { 18, 20, 26, //只能省略行下标,不能省略列下标

// 35, 10, 23,

// 24, 32, 58 };

//int arr3[][3] = { 0 }; //arr[0][0]=0; 整个数组都是0

//二维数组的赋值

int i, j;

int max, min;

int Arr[2][3];

int Arr1[3][2];

//用两个嵌套for赋值 用键盘

printf("输入数字:\n");

for (i = 0; i < 2; i++)

{

for (j = 0; j < 3; j++)

{

scanf("%d", &Arr[i][j]); //getchar

}

}

//打印

for (i = 0; i < 2; i++)

{

for (j = 0; j < 3; j++)

{

printf("Arr[%d][%d]=%d\t", i, j, Arr[i][j]); //getchar

}

printf("\n");

}

printf("\n\n");

//求最大值

max = Arr[0][0]; //Arr[0][0]数组的第一个元素

for (i = 0; i < 2; i++)

{

for (j = 0; j < 3; j++)

{

if (max < Arr[i][j])

{

max = Arr[i][j];

}

}

}

printf("max=%d\n", max);

printf("\n\n");

//把输入的数组给他赋给另外一个数组

for (i = 0; i < 2; i++)

{

for (j = 0; j < 3; j++)

{

Arr1[j][i] = Arr[i][j];

}

}

for (i = 0; i < 3; i++)

{

for (j = 0; j < 2; j++)

{

printf("Arr1[%d][%d]=%d\t", i, j, Arr1[i][j]);

}

printf("\n");

}

return 0;

}

最近发表
标签列表