C--三、数组

一、问题引入:为什么要使用数组?

应用场景:一个班有一百个学生,我们需要对这些学生成绩进行记录,我们不可能手动定义100个整形变量来记录数据。所有就有了数组的出现

二、数组的定义

类型符 数组名[常量表达式]
如:int a[10]

int a[10];
int b[] = {1,23};//自动补充数组个数

/*
	数组数多于赋值数量时,剩余的数会被赋值为0
	int 类型为0
	字符为'0'
	float为0.0
*/
int c[5] = {1,2,3};

三、数组案例练习

  1. 数组初始化输出
  2. 选择排序
  3. 冒泡排序
  4. 斐波那契数列

四、二维数组

使用场景:

1.假设一个n个小组,每个小组有m个组员,我们需要要记录组员成绩。那么一个就需要n×m空间来存放。
2.矩阵

二维数组的定义

类型符 数组名[常量表达式][常量表达式]
如:int b[3][4];
可以理解一个三行四列的矩阵。每一行四个元素。

注意:
定义二维数组时行号可以不写,列号一定要写。
就像是我们分组的时候,已经指定了每个组多少个人。但由于不知道总人数有多少,不知道有多少个组。

//定义的时候可以采取这种方式,更加直观
int d[3][3] = {{1,2,3},
			   {4,5,6},
			   {7,8,9}};

下面是两段代码的执行结果:


#include <stdio.h>

int main()
{
	
	int arr[][4] = {12,3};
	
	int row = sizeof(arr)/sizeof(arr[0]);
	int column = sizeof(arr[0])/sizeof(int);
	int i,j;
	for(i =0;i < row;i++){
		for(j = 0;j < column;j++){
			printf("%d	",arr[i][j]);
		}
		putchar('\n');
	}
	
	return 0;
}

执行结果:执行结果

#include <stdio.h>

int main()
{
	
	int arr[][4] = {{12,3},{3}};
	
	int row = sizeof(arr)/sizeof(arr[0]);
	int column = sizeof(arr[0])/sizeof(int);
	int i,j;
	for(i =0;i < row;i++){
		for(j = 0;j < column;j++){
			printf("%d	",arr[i][j]);
		}
		putchar('\n');
	}
	
	return 0;
}

执行结果:

由此可见:未指定赋值的元素与一维数组相同,都会被赋上默认初始值0。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值