第5章 数组与结构体

5.1 Arrays(数组)

数组的维数:数组中的元素个数

数组下标 (或索引) :元素在数组中的位置,数组下标从0开始

注意:

数组最后一个元素的下标=数组大小减一,因为数组下标是从0开始的,否则将输出地址

定义并初始化一个数组。 数组的初始化数值写在 { } 内并用 , 分隔开。

例如:int array[]={1,2,3,4,5,6,7};

当初值个数少于数组元素个数时,其余的数组元素将被初始化为0 值。

如果定义一个数组时对数组元素进行了初始化,但是没有指定数组元素个数,那么编译器将根据花括号内提供的初值个数来确定数组元素的个数。

5.2 Structures(结构体)

typedef 允许程序员为系统内置的或者程序员自定义的数据类型名定义一个同义词。

使用 typedef 定义一个同义词 ,可以简化程序,提高可读性

例如:

struct date

{

.................

};

原本定义一个变量a:

struct date a;

使用 typedef 定义后:

 typedef struct date DATE;

DATE a;

5.4 Arrays of structures(结构体数组)

例如:

数组的每个元素都是拥有三个成员number、dob和joined的struct personnel的结构体类型。

成员dob 和 joined本身又是拥有日、月和年三个成员的结构体。

可以被访问的格式: persons[0].number; persons[4].joined.year;

 

Programming pitfalls(易犯的错误)

1.应将数组的维数(下标)放在方括号之内,而非圆括号之内。

2.数组下标的取值范围是从0 开始到数组的元素个数减1。

3.即使结构体的模板是相同的,也不能在if 语句中对两个结构体变量进行比较。

若要比较两个结构体变量相等与否,那么必须对两个变量的每个成员都单独进行比较。


Quick syntax reference(快速语法参考)

 

posted @ 2022-05-24 20:19  杏花疏影  阅读(99)  评论(0)    收藏  举报