自定义数据类型之七
2012-07-20 22:36:03| 分类: C++ | 标签: |举报 |字号大中小 订阅
4、用typedef声明类型
可以用typedef声明一个新的类型名来代替已有的类型名。如:
typedef int INTEGER;//指定标识符 INTEGER 代表int类型
也可以声明结构体类型:
typedef struct
{int mouth;
int day;
int year;
}DATE;//注意DATE是新类型名,而不是结构体变量名
所声明的新类型名 DATE 代表上面所指定的一个结构体类型。这样就可以用 DATE 定义变量:
DATE birthday;
DATE *p //p为指向此结构体类型数据的指针
还可以进一步:
typedef int NUM[100]; //声明 NUM 为整型数组类型,包含100个元素
NUM n;//定义n为包含100个整型元素的数组
typedef char *STRING;//声明 STRING 为字符指针变量
STRING p,s[10];//p为字符指针变量,s为指针数组(有10个元素)
typedef int (*POINTER)() ;//声明 POINTER 为指向函数的指针类型,函数返回整型值
POINTER p1,p2;//p1,p2为POINTER类型的指针变量
归纳起来,声明一个新的类型名的方法是:
先按定义变量的方法写出定义语句(int i;)。
将变量名换成新类型名(将i换成COUNT)。
在最前面加 typedef ( typedef int COUNT )。
然后可以用新类型名去定义变量。
再声明上述的数组类型为例来说明:
先按定义数组的方法写出定义语句(int n[100];)。
将变量名n换成自己指定的类型名( int NUM[100] )。
在最前面加 typedef ,得到 typedef int NUM[100] )。
用来定义变量:NUM n;(n是包含100个整型元素的数组)
习惯上常把 typedef声明的类型名用大写字母表示,以便与系统提供的标准类型标识符相区别。