看如下代码的注释讲解:
#include<stdio.h>
#include<string.h>
void main()
{
/**typedef定义为整型变量类型**/
typedef int INT; //把int换个别名(类型名)----如果需要整篇更换int为double那就很方便了
INT a; //可以直接定义整型的变量
/**typedef定义为结构体类型**/
typedef struct score
{
}SCORE; //约定俗成用大写
SCORE likesheng;
/**typedef定义为数组类型**/
typedef int ARRY[100];
ARRY a1,a2,a3;
/**typedef定义为指针类型**/
typedef int *POINTER; //定义为整型指针类型
POINTER p1,p2,p3;
typedef char *PSTRING; //定义为字符指针类型
PSTRING c1,c2,c3;
/**typedef定义为指向函数的指针类型**/
typedef int (*FPOINTER)();
FPOINTER f1,f2,f3;
/**typedef的主要作用是为了提高程序的通用性和可移植性**/
//可执行文件:编译(预处理(#include,#define,#ifdef),编译(typedef),汇编),链接
printf("断点");
return;
}
自己加断点,观察现象。
总结:
- typedef中用的类型别名一般都是大写
- typedef是用来定义类型名的,不是用来定义变量的
- typedef知识对已经存在的类型增加一个类型名,没有创造新的类型
- typedef是在编译的时候处理的
- 大大的提高了程序的通用性和可移植性
- 特殊的定义方式,如结构体要记住