C系统级编程CLASS1

参考资料

C语言中的类型关系

参考6.2.5节

变量声明

在C语言中,声明一个变量具有两个基本要素:

1、对象类型 Object Type

2、变量名称(标示符) Identifier

对象类型约定了这段内存的类型和大小

变量名称则是这块内存的别名,用于识别定位这块内存

对象类型进一步分为:

1、非数组对象类型

2、数组对象类型

数组对象类型

数组对象类型是多个同样的对象类型组成的一种一维构造类型

包含两要素:1、元素个数,2、元素的对象类型

1、数组对象类型的元素可以是非数组对象类型

2、数组对象类型的元素也可以是其他数组对象类型

注意:C语言数组对象类型其实都是一维的

指针对象类型

1、指针对象类型是一个非数组对象类型

2、任何一种对象类型,都有指向其的一个指针对象类型,反之亦然

3、指针对象类型也有相应的指向其的另一个指针对象类型

4、指针对象类型也可以用来构造数组类型,作为数组对象中元素的对象类型

5、指针对象类型构成的数组对象也有其对应的指针对象

int*[2] -> PINT[2]

PINT[2] <-> PINT(*)[2](指向PINT[2]的指针)

typedef

1

如何将int[2][3]定义为VVINT类型

1: typedef int VVINT[2][3];

2: typedef int VINT[3]; typedef VINT VVINT[2];

2

typedef int* PINT;

1、int* p, q;

2、PINT p, q;

在1中q为int,在2中q为PINT