//----------------------------------------------------------
#ifndef _CHECK_H
#define _CHECK_H
typedef enum Boolean {True=1,False=0} boolean;
boolean isLower(char);
boolean isNumber(char);
#endif
//----------------------------------------------------------
typedef int INT;
INT i = 10;//int i = 10;
//----------------------------------------------------------
typedef int* pINT;
pINT p = &i;//int* p = &i;
// ----------------------------------------------------------
typedef char ARRAY[20];
ARRAY str = "hello world";//char Array[20] = "hello world";
//----------------------------------------------------------
typedef struct student {
char name[20];
int age;
char sex;
}STUDENT;
STUDENT body1, body2;//struct student body1, body2;
//----------------------------------------------------------
int a[4] = { 1,2,3,4 };
typedef int (*p2ARRAY)[4];
p2ARRAY pArray;//int (*pArray)[4] = &a;
//----------------------------------------------------------
typedef int (*p2FUNC)(int, int);
p2FUNC pfunc;//int (*pfunc)(int, int)
//----------------------------------------------------------
//typedef 是赋予现有类型一个新的名字,而不是创建新的类型。
//为了“见名知意”,请尽量使用含义明确的标识符,并且尽量大写。
/*
* typedef 和 #define 的区别
* typedef是一种彻底的“封装”类型,声明之后不能再往里面增加别的东西。
*/
//1) 可以使用其他类型说明符对宏类型名进行扩展,但对 typedef 所定义的类型名却不能这样做
#define INTERGE int
unsigned INTERGE n; //没问题
typedef int INTERGE;
unsigned INTERGE n; //错误,不能在 INTERGE 前面添加 unsigned
//2) 在连续定义几个变量的时候,typedef 能够保证定义的所有变量均为同一类型,而 #define 则无法保证
#define PTR_INT int *
PTR_INT p1, p2;
Typedef小总结
最新推荐文章于 2023-04-26 14:11:28 发布