C语言数组

1.数组的概念及定义

数组:数组就是变量的集合,是一种指定义变量的方法。

(1)一维数组

一维数组:把变量排成一排。
定义:类型 数组[数量];[ ]里的整数表示变量的数量
int arr[5] <=> int n1,n2,n3,n4,n5;
数组的变量,值也是不确定的,为了安全需要初始化。
使用:数组名[编号];
[ ]里的整数表示的是编号 arr[0],arr[1],arr[2],arr[3],arr[4]; 编号也叫下标,范围:0 ~ 数量-1。

   遍历:配合循环语句,使用循环变量当作数组的编号。

	for(int i=0; i<5; i++)
	{
		printf("%d\n",arr[i]);
	}

初始化:类型 数组[数量] = {v0,v1,v2,v3…};
1、如果初始化数据不够,编译器会自动补零。
2、如果初始化数据过多,编译器会丢弃多余的数据并给出警告。
3、对数组初始化时,数组的数量可以省略,编译器会统计出初始化数据的个数然后再告诉数组。
sizeof(arr) 计算出数组的总字节数。
sizeof(arr[0]) 计算出其中一个变量的字节数。

(2)二维数组

二维数组:把变量排一个方阵。
定义:类型 数组名[行数][列数];
int arr[3][4];
使用:数组名[行编号][列编号],编号从零开始。
arr[0][0],arr[0][1],arr[0][2],arr[0][3]
arr[1][0],arr[1][1],arr[1][2],arr[1][3]
arr[2][0],arr[2][1],arr[2][2],arr[2][3]

遍历:配合双层for,外层循环负责遍历行,内层循环负责遍历列。
		for(int i=0; i<3; i++)
		{
			for(int j=0; j<4; j++)
			{
				printf("%d ",arr[i][j]);
			}
			printf("\n");
		}

初始化:数组名[行编号][列编号] = {{v0,v1,v2},{v0,v1,v2},{v0,v1,v2}};

(3)数组越界

数组越界的后果:
1、产生脏数据。
2、一切正常。
3、段错误 (核心已转储)。

(4)数组的应用:走迷宫

走迷宫:
1.数据分析:
迷宫:char maze[10][10];
墙 ‘#’
老鼠 ‘@’
出口 ’ ’
路 ’ ’
老鼠的坐标:char mouse_x,mouse_y;
出口的坐标:char out_x,out_y;
2.业务流程:
显示迷宫:先清理屏幕,再显示迷宫。
stdlib.h
system(“clear”);
判断是否到达出口:判断老鼠的坐标与出口的坐标是否重合。
获取方向键:
getch.h
getch();
183 up,184 down,185 right,186 left
先把原位置赋值为’ ‘,新位置赋值为’ '。
不能穿墙,不能越界。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值