一维数组和二维数组的基本使用

本文中的代码都在Visual Studio(版本为2022)软件中运行,在使用scanf函数记得在第一行写下面的代码:

#define _CRT_SECURE_NO_WARNINGS 

数组的概念:数组是一种基础的数据结构,用于在计算机内存中连续存储相同类型的数据。

数组的特点:数组中数据的类型是相同的;

                     数组的长度是固定的,一旦数组定义之后,其长度不会改变;

                     数组的索引值是从0开始的;

                     数组的长度减一就是数组中最大的下标

一维数组的语法规则:

type arr_name[常量值];

type是数组的类型,类型可以为int、float、char等类型

arr_name是数组名

[]中的常量值是定义数组的大小的

一维数组的使用:

定义一个长度为5的一维整型数组,其中的数据为1 2 3 4 5:

int arr[5] = {1, 2, 3, 4, 5};

一维数组的初始化:

int arr[5] = { 1, 2, 3, 4, 5 };     //完全初始化,初始化了数组中的所有元素
int arr[5] = { 1, 2 };				//只初始化了前两个元素,其它的元素默认为0
int arr[5] = { 1, 2, 3, 4, 5, 6 };  //初始化错误,初始化的项超过了数组长度
int arr[]  = { 0 };                 //根据元素初始化的个数,决定向内存申请空间的大小

一维数组的输出:

①用for循环输出数组的元素

#include <stdio.h>

int main()
{
	int arr[5] = { 1, 2, 3, 4, 5 };  //定义了一个长度为5的整形数组,其储存的值为1 2 3 4 5
	for (int i = 0; i < 5; i++)		 //用for循环遍历数组
	{
		printf("%d\n", arr[i]);
	}

	return 0;
}

运行结果:

1
2
3
4
5

②用数组的索引值(也就是下标)输出数组的元素:

#include <stdio.h>

int main()
{
	int arr[5] = { 1, 2, 3, 4, 5 };  //定义了一个长度为5的整形数组,其储存的值为1 2 3 4 5
	printf("%d\n", arr[3]);           //输出索引值为3的数据

	return 0;
}

运行结果:

4

数组的输入:

#include <stdio.h>

int main()
{
	int arr[5] = { 0 };				 //初始化数组,数组中的所有元素默认为0
	//使用for循环在一维数组中输入元素(这里是数值)
    for (int i = 0; i < 5; i++)		 //用for循环和scanf()函数依次输入元素
	{
		scanf("%d", &arr[i]);
	}
    
    //使用for循环输出一维数组中的元素
	for (int i = 0; i < 5; i++)     //再使用for循环输出数组中的元素
	{
		printf("%d ", arr[i]);
	}

	return 0;
}

以输入

1
2
3
4
5

为例,则输出结果为:

1 2 3 4 5

二维数组的语法规则:

type arr_name[常量值1][常量值2];

type是数组的类型,类型可以为int、float、char等类型

arr_name是数组名

[]中的常量值1控制行数,常量值2控制列数

 二维数组的使用:

定义一个行为2列为3的二维整形数组,数组的所有元素为0:

int arr[2][3] = { 0 };

  二维数组的初始化: 

        注意:在初始化二维数组时,能省略行,但不能省略列   

                  二维数组的行和列的索引值都是从0开始的       

                         

int arr[2][3] = { 1,2 };  //第一行第一列的元素为1,第一行第二列的元素为2。其余的元素都默认为0

int arr[2][3] = { {1, 2}, {3, 4} } //第一行第一列和第二列的元素分别为1 2,第三列的元素默认为0
                                   //第二行第一列和第二列的元素分别为3,4,第三列的元素默认为0 
int arr[][5] = { 0 };              //根据元素初始化的个数和列数决定向内存申请空间的大小        

二维数组的输出:

①用for循环输出二维数组的元素:

#include <stdio.h>

int main()
{
	int arr[2][3] = { 1,2 };

	for (int i = 0; i < 2; i++)		  //外层for循环控制行数
	{
		for (int j = 0; j < 3; j++)   //内层for循环控制列数
		{
			printf("%d ", arr[i][j]);
		}
        
        printf("\n");	  //第一行输出结束时,换行	
    
	}

	return 0;
}

运行结果:

1 2 0
0 0 0

②用二维数组的索引值(也就是下标)输出元素:

#include <stdio.h>

int main()
{
	int arr[2][3] = { 1,2 };

	printf("%d", arr[1][2]);   //输出行索引值为1,列索引值为2的元素

	return 0;
}

运行结果为:

0

二维数组的输入:

#include <stdio.h>

int main()
{
	int arr[2][3] = { 0 };  //二维数组中的所有元素默认为0
	
	//用两个for循环在二维数组中输入元素(这里是数值)
	for (int i = 0; i < 2; i++)		  //外层for循环控制行数
	{
		for (int j = 0; j < 3; j++)   //内层for循环控制列数
		{
			scanf("%d", &arr[i][j]);
		}
		
	}

	for (int i = 0; i < 2; i++)		  //外层for循环控制行数
	{
		for (int j = 0; j < 3; j++)   //内层for循环控制列数
		{
			printf("%d", arr[i][j]);
		}
		printf("\n");                //第一行输入完后,换行
	}

	return 0;
}

以输入

1 1 1 2 2 2

为例,则运行结果为:

111
222

二维数组与一维数组之间的关系:

只要将一个一维数组看作是另一个一维数组的元素,那么这个一维数组实际上就是二维数组。

 计算数组长度的方法:

我们可以使用关键字sizeof计算数组的大小,单位是字节。

#include <stdio.h>
 
int main()
{
	int arr[10][2] = {0};

	printf("%d\n", sizeof(arr));		 //输出数组的大小
	printf("%d\n", sizeof(arr[0][0]));   //输出数组一个元素的大小
	printf("%d\n", sizeof(arr) / sizeof(arr[0][0]));  //输出数组中元素的个数
	
	return 0;
}

运行结果:

80
4
20

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值