1,数组的概念:一组相同类型的元素集合;
- 数组中存放一个或多组数据,但是数组元素个数不能为0
- 数组中存放多个数据,类型是相同的。
- 分类:一维数组,多维数组
2.一维数组的创建和初始化
2.1数组创建
存放在数组中的值被称为数组的元素,数组在创建的时候可以指定数组的大小(即元素个数)和数组的元素类型。
2.2数组的初始化:一般把数据放在大括号中

2.3数组的类型
去掉数组名留下的就是数组的类型eg:int [10]
3.一维数组的使用
3.1数组下标
下标引用操作符[]--使用它轻松的访问到数组的元素
比如,我们想访问下标为7的元素,使用arr[7]
3.2数组元素的打印
(只要我们产生索要访问数组的下标即可)

3.3数组的输入(如果自行输入值就会把初始值覆盖,循环代表 输入10次 也就是读取10次的意思,他能读取的最大值取决于数据类型int。。。。)

4.一维数组在内存中的存储(%p用来打印地址)(编号==抵制==C语言中叫指针)
地址打印出来的是16进制的数字
计算机处理的数据,都要加载到内存中处理,内存会被划分为一个个的内存单元(一个字节),然后给每个内存氮源都编上号(通过编号找到某个内存单元)

数组随下标的增长,地址是有小到大变化的,并且我们发现每两个相邻的元素之间相差4(因为一个整型是4个字节)所以,数组在内存中是连续存放的
5.sizeof计算数组元素中的个数
sizeof是C语言的一个关键字,是可以计算类型或变量的大小的,也可以计算数组的大小

输出结果是40


2个%可以打印出一个%
6.二维数组的创建
type arr_name[常量值行][常量值列]
eg:int arr[3][5]:表示数组有三个元素,每行有5个元素
7.二维数组的初始化
一次初始化每一行,当不够的时候,剩余的元素初始化为0
- 不完全初始化:int arr1【3】【4】={1,2};
1 2 0 0 0 0 0 0 0 0 0 0 -
按照行初始化int arr4[3][5]={{1,2},{3,4},{5,6}};
1 2 0 0 0 3 4 0 0 0 5 6 0 0 0 - 完全初始化:int arr3[3][5]{1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7}
1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 - 初始化时省略行但是不能省略列
8.二维数组的使用
C语言规定,二位数组的行是从0开始的,咧也是从0 开始的。

8.2二维数组的输入和输出

9.二维数组在内存中的存储

每一行内部的每个元素都是相邻的,地址之间相差4个字节,跨行位置处的两个元素之间也是相差4个字节,二维数组中的每个元素都是连续存放的。
10.C99中的变长数组(用变量来指定数组大小)
int n = a+b;
int arr [n];
arr就是变长数组,他的长度取决于变量n的值
变长数组不能初始化
10.二分查找(对于有序的数组进行折半查找)

2235

被折叠的 条评论
为什么被折叠?



