11.1 用typedef说明一种新类型名
考点1 用typedef说明一种新类型名
真考链接
考点1属于简单识记,重点理解内容。在选择题中的考核概率为30%。此考点在操作题中的考核概率为10%。
C语言可以用typedef说明一种新类型名,说明新类型名的语句一般形式为:
typedef类型名 标识符;
其中,“类型名”一定是在此语句之前已有定义的类型标识符。“标识符”是一个用户定义标识符,用来标识新的类型名。typedef语句的作用仅仅是用“标识符”来代表已存在的“类型名”,并没有产生新的数据类型,因此,原有的类型名依然有效。
声明一个新类型名的具体步骤如下:
(1)先按定义变量的方法写出定义的主体(如floata;)。
(2)将变量名换成新类型名(如将a换成FLO)。
(3)在最左面加上关键字typedef(如 typedeffloatFLO;)。
(4)然后可以用新类型名去定义其他的变量(如FLOb;)。
小提示
typedef语句的作用仅仅是用“标识符”来代表已经存在的“类型名”,实际上并未产生新的数据类型。原有类型名依然有效,这样做可以满足一些特殊情况的需要。
常见问题
typedeflongLONG是什么意思?
该语句把一个用户命名的标识符LONG说明为一个long类型的类型名。使用typedef语句说明之后,就可以用标识符LONG来定义长整型变量了。
真题精选
以下程序的输出结果是( )。
#include <stdio.h>
typedef union {
long x[2];
int y[4];
char z[8];
}MYTYPE;
MYTYPE them;
main()
{ printf("% d\n",sizeof(them));
}
A.32 B.16 C.8 D.24
【答案】 C
【解析】程序说明了一个共用体类型MYTYPE;并定义了them为MYTYPE类型的共用体变量。程序要求输出变量them所占的字节数。共用体中包含3个成员,而每个成员所占的字节数都是8,共用体变量所占内存字节数与其成员中占字节数最多的那个成员相等。