结构体基础知识点(七)--用 typedef 声明新类型名

荒凉一梦 提交于 2020-01-21 09:17:43

前期回顾

  结构体基础知识点(一)–建立自己的数据类型
  结构体基础知识点(二)–使用结构体数组
  结构体基础知识点(三)–结构体指针
  结构体基础知识点(四)–用指针处理链表
  结构体基础知识点(五)–共用体类型
  结构体基础知识点(六)–使用枚举类型


用 typedef 声明新类型名

1. 用一个新类型名代替原有的类型名

这样有个好处,可以提高可移植性。

typedef int Integer;   //指定用 Integer 作为类型名,所用与int相同
typedef float Real;    //指定用 Real 作为类型名,所用与float相同

2. 命名一个简单的类型名代替复杂的类型表示方法

  C程序中除了简单类型名(int、char等),还有许多看起来复杂的类型名(结构体类型、共用体类型、指针类型等),C允许程序设计者用一个简单的名字代替复杂的名字。

1) 命名一个新的类型名代表结构体类型

typedef struct {
	int month;
	int day;
}Date;

Date today;  //定义结构体类型变量
Date *p;     //定义结构体指针变量 p,指向此结构体类型数据

2) 命名一个新的类型名代表数组类型

typedef int Num[100];	//声明 Num为整形数组类型名
Num a;			//定义a为整形数组名,它有100个元素

3) 命名一个新的类型名代表指针类型

typedef char* String;	//声明String为字符指针类型
String p,s[10];		    //定义p为字符指针变量,s为字符指针数组

4) 命名一个新的类型名代表指向函数的指针类型

typedef int (* Pointer)();	//声明Pointer为指向函数的指针类型,函数返回整型值
Pointer p;			//p为Pointer类型的指针变量

归纳起来,声明一个新的类型名的方法是:
①先按定义变量的方法写出定义体(如int i;)。
②将变量名换成新类型名(例如:将i换成Count)。
③在最前面加typedef(例如:typedef int Count)。
④然后可以用新类型名去定义变量

  简单地说,就是 按定义变量的方式,把变量名换上新类型名,并且在最前面加“typedef”,就声明了新类型名代表原来的类型。
  习惯上,常把用typedef声明的类型名的第一个字母用大写表示,以便于系统提供的标准类型标识符相区别。


  当不同源文件中用到同一类型的数据(尤其是像数组、指针、结构体、共用体等类型数据)时,常用typedef 声明一些数据类型。可以把所有的 typedef名称声明单独放在一个头文件中,然后在需要用到他们的文件中用 #include指令把它们包含到文件中。这样编程者就不需要在各文件中自己定义 typedef 名称了

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!