声明:
从网上看了一篇关于typedef的文章(http://www.cnblogs.com/Jason_Yao/articles/1523785.html ),
感觉写的非常好,从中摘取了一部分,供以后温习用,希望对像我一样的c的新手有所帮助。
typedef用来声明一个别名,typedef后面的语法,是一个声明。
(不要把typedef和define混为一谈)
用途一:
定义一种类型的别名,而不只是简单的宏替换。
定义一种类型的别名,而不只是简单的宏替换。
typedef char* PCHAR;
PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针
用途二:
用于struct。
typedef struct tagPOINT
{
int x;
int y;
}POINT;
POINT p1;
{
int x;
int y;
}POINT;
POINT p1;
用途三:
用typedef来定义与平台无关的类型。
用typedef来定义与平台无关的类型。
typedef long double REAL;
用途四:
为复杂的声明定义一个新的简单的别名。
为复杂的声明定义一个新的简单的别名。
(注意:这里是为一个变量创建一个别名)
typedef int (*func)(int *);
typedef int *a[10];
也可以记住2个模式:
type (*)(....)函数指针
type (*)[]数组指针
type (*)(....)函数指针
type (*)[]数组指针