关于typedef和define的两个错误用法

1.typedef的错误用法:

typedef int egg;
...
egg i;//编译通过,变量i为整型
unsigned egg i;//编译错误,提示为i前缺分号且i为未定义变量,此时将egg定义为一个无符号变量;

正确的做法:
typedef unsigned int egg;
...
egg i;//编译通过;

2.define的错误用法:

#define PCHAR char*
...
PCHAR p1,p2;//编译通过,但是p2却不是指针类型,仅是一个char类型的字符

但typedef可以这样使用
typedef char* pchar;
...
pchar p3,p4;//p3和p4都是指针类型;

你可能感兴趣的:(C语言)