学科分类
目录
C语言

typedef-给数据类型取别名

typedef关键字用于为现有数据类型取别名,例如,前面所学过的结构体、指针、数组、int、double等都可以使用typedef关键字为它们另取一个名字。使用typedef关键字可以方便程序的移植,减少对硬件的依赖性。

使用typedef关键字语法格式如下:

typedef 数据类型 别名;

在上述语法格式中,数据类型可以是基本数据类型、构造数据类型、指针等,接下来就介绍一下如何使用typedef为常见数据类型取别名,具体如下:

1、为基本类型取别名

使用typedef关键字为unsigned int类型取别名,示例代码如下:

typedef unsigned int uint;
uint i,j,k;

上面的语句将int数据类型定义成unit,则在程序中可以用unit定义无符号整型变量。

2、为数组类型取别名

使用typedef关键字为数组取别名,示例代码如下:

typedef char NAME[10];
NAME class1,class2;

上面的语句定义了一个长度为10的字符数组名NAME,并用NAME定义了两个字符数组class1和class2,等效于char class1[10]和char class2[10]。

3、为结构体取别名

使用typedef关键字为结构体类型 struct Student 取别名,示例代码如下:

typedef struct Student
{
int num;
char name[10];
char sex;
}STU;
STU stu1;

上面的代码先定义了一个struct Student类型的结构体,并使用typedef关键字为其取了别名STU,之后用别名STU定义了结构体变量stu1。此段代码中定义结构体变量的语句等效于下面这行语句:

struct  Student  stu1;

需要注意的是,使用typedef关键字只是对已存在的数据类型取别名,而不是定义新的数据类型。有时也可以用宏定义来代替typedef的功能,但是宏定义在预处理阶段只会被替换,它不进行正确性检查,且在某些情况下不够直观,而typedef直到编译时才替换,相比之下使用更加灵活。

点击此处
隐藏目录