typedef的作用是从一个已知类型出发,定义一个新的类型,其格式有时候看得不是很习惯,有时也经常犯错,现在总结如下:
typedef的格式:先按定义变量的方法定义,在把变量名替换为新类型名即可。
例1: typedef int i;
typedef int COUNT;
例2: typedef int a[100]
typedef int NUM[100];
例3: typedef int (*p)();
typedef int (*FUNC)();
需要注意的是,typedef与宏替换还是有区别的,typedef定义的一种新的类型,是一个整体,
例1:
typedef char* PCHAR;
PCHAR p1,p2;
char* s1,s2;
这里p1,p2都是指针,s1是指针,但是s2就只是一个char类型的值了
例2:
const PCHAR p1;
const char *p2;
这两个const的含义是有区别的,第一个const是表示p1不能修改了,即它不能指向其它的地方了。第二个const的含义是指*p2不能修改,即p2指向的内容不能修改
typedef的格式:先按定义变量的方法定义,在把变量名替换为新类型名即可。
例1: typedef int i;
typedef int COUNT;
例2: typedef int a[100]
typedef int NUM[100];
例3: typedef int (*p)();
typedef int (*FUNC)();
需要注意的是,typedef与宏替换还是有区别的,typedef定义的一种新的类型,是一个整体,
例1:
typedef char* PCHAR;
PCHAR p1,p2;
char* s1,s2;
这里p1,p2都是指针,s1是指针,但是s2就只是一个char类型的值了
例2:
const PCHAR p1;
const char *p2;
这两个const的含义是有区别的,第一个const是表示p1不能修改了,即它不能指向其它的地方了。第二个const的含义是指*p2不能修改,即p2指向的内容不能修改