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