嵌入式C语言完全学习笔记(六)

7、数组

到目前为止,我们已经学习了C语言的基本数据类型:整形、浮点型、字符型。再往后

就是复合数据类型。

所谓复合数据类型,是指由简单数据类型,经过一定的数据结构封装,组成而成的新的

数据类型。譬如数组、譬如结构体、譬如公用体

7.1、为什么需要数组?

数组就是数组成一个组,数就是一个特定数据类型的变量,组就是说好多数放在了一起。

7.2、怎么定义数组?

int a[4]; 数组中元素类型 数组名[数组元素个数];

总结:数组中的所有元素必须是同一种数据类型,不可能在一个数组中存储两种数据类型的数。

7.3、怎么使用数组?

数组定义的时候作为整体定义。但是使用的时候不能作为整体使用,使用时必须拆开使用数组中的各个元素。

譬如数组int a[4],使用其中的四个元素,分别用a[0]``a[3],其中[]是数组的标志,[]中的

数字叫做数组下标(index,索引),下标是我们访问数组中各个元素的指引。下标是0代表数组中第一个元素,下标是1代表数组第二个元素。如果数组长度为n,下标中最后一个是n-1。访问数组时要特别注意下标,下标是从0开始的,如果下标超出了n-1,会产生越界访问,结果是不可预期的。

7.4、数组的初始化问题

初始化(initinalize,简写为init),是为了让对象有一个预定的初始状态。

譬如说:

(1)简单变量的初始化

当一个局部变量定义时没有初始化,它的值是随机的。这个如果没有注意,可能会导致程序出错。怎么办?解决方案有两个:

第一个,在定义过后明确给它赋值,使用=运算符。

第二个,定义该变量时,同时进行初始化。

总结:

1、一般来讲,只要你记得显示赋值,则两种方式并无优劣差异。但是人会犯错,会不小心,所以还是定义同时初始化好一点,因为这个定义的时候就有了固定值,即使之后忘记显示赋值也不会造成结果是随机的。

2、一般情况下,定义的同时都将变量初始化为0。局部变量定义同时初始化为0,这是一个写代码好习惯。

(2)数组的初始化

第一种:完全初始化。依次赋值

第二种:不完全初始化。初始化式中的值从a[0]开始,依次向后赋值,不足的默认用0填充赋值

2、

C语言基础大模块:

数据类型

运算符

三种程序结构

函数

数组

指针

结构体、公用体、枚举

基础知识 + 推断能力

学习 = 基础知识 + 合理推论

嵌入式C语言完全学习笔记(六)

相关推荐