使用typedef定义类型

点击打开在线编译器,边学边练

在 C 语言中,除系统定义的标准类型和用户自定义的结构体、共用体等类型之外,还可以使用类型说 明语句 typedef 定义新的类型来代替已有的类型。typedef 语句的一般形式是: 
typedef 已定义的类型 新的类型; 
例如: 

   

typedef int INTEGER; /*指定用 INTEGER 代表 int 类型*/
typedef float REAL; /*指定用 REAL 代表 float 类型*/

  

在具有上述 typedef 语句的程序中,下列语句就是等价的: 

   

int i, j; /*与 INTEGER i, j;*/
float pi; /*与 REAL pi;*/

    

当然typedef的最常用的作用就是给结构体变量重命名。

   

#include<stdio.h>
#include<string.h>
typedef struct _INFO
{
        int num;
        char str[256];
}INFO;
int main()
{
        struct _INFO A;
        INFO B;    //通过typedef重命名后的名字INFO与struct _INFO完全等价!
        A.num = 2014;
        strcpy(A.str,"Welcome to dotcpp.com");
        B=A;
        printf("This year is %d %s\n",A.num,A.str);
        printf("This year is %d %s\n",B.num,B.str);
        return 0;
}

   

可以看到typedef可以为关键词改名,使改名之后的INFO类型等价于struct _INFO类型,让我们在定义这种结构类型时更方便、省事。


事实上,许多windows开发中的许多我们未见过的数据类型,看起来很难懂,但绝大部分都是通过typedef定义后的基本数据类型,大家可以通过追溯变量的定义来了解。



本文固定URL:https://www.dotcpp.com/course/41

第一章 C语言的过去与未来
第二章 C语言快速入门
第三章 C语言的数据类型
第四章 C语言中的基本输入输出
第五章 运算符和表达式
第六章 C语句和程序流
第七章 函数
第八章 数组
第九章 指针
第十章 复合结构
第十一章 文件操作
第十二章 预处理
Dotcpp在线编译      (登录可减少运行等待时间)