数组(基础知识笔记)

1.数组的基本概念

定义多组数据过于麻烦,因此我们用数组一次性定义定义多组数据。

数组是一组类型相同的元素的集合。

(1)数组可一存放1到多个数据,但元素不能为空

(2)存放的多个数据类型必须相同

2.数组的创建与初始化

2.1创建

type arr_name[常量值]

type指的是数组的数据类型

arr_name指的是数组名

常量值代表数组内元素个数

注:代码名,变量名,数组名取名时最好有意义,方便后期的审阅更改

int math[20];
char ch[9];

2.2初始化

int math_1[20] = {1,2,3};    //不完全初始化
int math_2[5] = {1,2,3,4,5};    //完全初始化
int math_3[3] = {1,2,3,4};    //错误的初始化

不完全初始化除去已赋值的元素,剩余的自动补充“0”.

3数组的使用

3.1数组的下标

数组的下标是从0开始存放,假设数组里有n个元素,则存放最后一个元素下标为n-1

下标引用操作符[ ]

3.2数组的输入

问:为什么使用while循环会出现debug error,而使用for循环不会?

int main(){
 int arr[10] = {1,2,3,4,5,6,7,8,9,10}; 
 int i = 0;
 for(i=0; i<10; i++)
 {
 scanf("%d", &arr[i]);
 }
 for(i=0; i<10; i++)
 {
 printf("%d ", arr[i]);
 }
 return 0;
}

3.3数组在内存中的存储

数组在内存中的存储是连续存放的

一个 内存单元的大小是一字节,由于数组是int类型,所以一个数组元素占四个字节

%p以十六进制展示

所以地址每次增加四:8->c->0->4->8

4.二维数组 

4.1二维数组的创建

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

常量1可以为空 ,常量2必须有固定数值

eg:int score[3][5];

表示数组有三行五列

图4.1

 4.2二维数组中的初始化

int arr[3][5]={1,2};//不完全初始化
int arr2[3][5]={1,2,3,4,5, 4,5,6,7,8, 6,7,8,9,0}//完全初始化
int arr3[3][5]={{1,2},{2},{3}}//按照行初始化每个{}代表一行,不满五个自动补0
//可以省略行但不能省略列

4.3二维数组的下标

下标的作用其实就是用来定位。

行列同一维数组都是从0开始的。

4.4二维数组的输入

请参照图4.1

4.5二维数组在内存中的存储方式

二维数组同一维数组一样是连续存放的,每一行是一个一维数组,第一行一维数组存放完紧接着开始存放第二行 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值