C语言学习笔记(三)数组

数组,存放同类型的数据,相当于一个专门存放相同类型数据的盒子
特点:在定义时设定类型,长度等性质,在后续操作中不得对性质进行修改
定义数组方法

int a[10]//定义一个10个数据,数据类型为整型的数组

中括号的用途:
1、在定义时中括号中设定数组长度(如上面的例子)
2、在使用下标法访问数组元素时填入需要访问第几个元素

a[0],a[1].......

访问数组元素方法:
1、下标法

printf("a[0] = %d\n",a[0]);

2、数组名为头指针,偏移访问元素(指针笔记再详细说)
数组初始化方法:
1、下标法

a[0] = 10;

2、数组名为头指针,偏移进行元素赋值
初始化案例:定义一个10个元素的整型数组,分别赋值0到9,分别进行顺序,逆序输出

#include<stdio.h>

int main()
{
	int a[10];
	int data;
	puts("请输入数组数据");
	for(data = 0;data < 10;data ++)
	{
		scanf("%d",&a[data]);
	}
	
	puts("输入完成");
	puts("数组顺序输出的结果为");
	for(data =0;data < 10;data ++)
	{
		printf("%d\n",a[data]);
	}
	puts("数组逆序输出的结果为");
	for(data = 9;data >= 0;data --)
	{
		printf("%d\n",a[data]);
	}
}

对于在数组初始化时未声明长度的情况,在后续需要进行数组长度获取时,可以使用sizeof来计算数组长度

int a;
a = sizeof(array)/sizeof(array[0]);

二维数组可以看成是更多同类型数据需要进行细化分组的一种解决方案,,会用就行
定义二维数组

int array[2][3];//定义一个两行三列的二维数组

可以把array看成是一个有两个元素的一维数组,而这两个元素又各自是一个包含3个元素的一维数组.
遍历方法:利用数组下标来访问

int i,j;
int array[3][4] = {{11,22,33,44},{45,56,67,78},{10,20,30,40}};
for(i=0;i<3;i++)
{
	for(j=0;j<4;j++)
	{
		printf("%d ",array[i][j]);
	}
	putchar('\n');
}

不常见的初始化方式
1、只对每行第一个元素进行赋值,其他全设为0

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

结果如下
请添加图片描述
2、对各行的某一元素进行赋值,例如

int array[3][4] = {{1},{0,6},{0,0,11}};

运行结果如下
在这里插入图片描述
3、对特定行列的元素进行赋值,其他全赋值为0
注意:当二维数组初始化时已给出全部初始数据时,二维数组的列参数在定义时不能少

int array[3][4] = {1,2,,3,4,5,6,7,8,9,10,11,12};
int array[][4] = {1,2,,3,4,5,6,7,8,9,10,11,12};

以上这两种初始化方式等价

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值