数组

数组

所谓数组,是有序的元素序列。 [1] 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 [1] 这些无序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合。

数组是一种批量定义变量的方法。(最后一个放有"/0")

一维数组:

	定义:类型 数组名[n];
		定义n个同一类型的变量。
	使用:数组[下标];
		下标范围 0~n-1;
	初始化:和变量一样默认值是不确定的。
		类型 数组名[n] = {v1,v2,v3,v3,....};
		1、初始化数据不够,补0。
		2、初始化数据丢弃(有警告)。
		3、n值可以省略,编译器会根据初始化数据的个数来确定数组的长度。
		sizeof(arr)/sizeof(arr[0]) 计算数组的长度。
	越界:编译器不检查数组的下标,如果越界会造成的后果有
		1、段错误
		2、脏数据
		3、一切正常
	遍历:与for循环配合,使用循环变量当数组的下标。
int arr[100];
for(int i=0; i<100; i++)
{
	printf("%d",arr[i]);
}

变长数组:数组的长度编译时不确定,程序运行时可以加长

	优点:节省空间
	缺点:不能初始化

二维数组:相当把变量排一个方阵。

	定义:类型 数组名[行数][列数];
	使用:数组名[行下标][列下标];
		下标从0开始,到数量-1。
	初始化:类型 数组名[行数][列数] = {{},{},{}};
	遍历:双层for循环配合,外层负责行,内层负责列。
int arr[10][10];
for(int i=0; i<10; i++)
{
	for(int j=0; j<10; j++)
		printf("%d",arr[i][j]);
}

注意

变长数组:数组在编译时长度可以先不确定,在运行期间可以根据实际情况来确定数组的长度,但是一旦确定下来就不能再变量。
变长数组不能初始化,因为数组的初始化是由编译器帮助完成的,而编译期间不能确定数组的长度,所以不能初始化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值