typedef (int*) pINT; 以及下面这行: #define pINT2 int*
效果相同?实则不同!
pINT a,b;的效果同int *a; int *b;表示定义了两个整型指针变量。
pINT2 a,b;的效果同int *a, b;表示定义了一个整型指针变量a和整型变量b。
注意:两者还有一个行尾;号的区别哦!
- #define是在预处理阶段处理的,一般用于宏定义,是完全的字符串替换,不检查错误;
- typedef是在编译阶段处理的,类似于换了个别名;
typedef (int*) pINT; 以及下面这行: #define pINT2 int*
效果相同?实则不同!
pINT a,b;的效果同int *a; int *b;表示定义了两个整型指针变量。
pINT2 a,b;的效果同int *a, b;表示定义了一个整型指针变量a和整型变量b。
注意:两者还有一个行尾;号的区别哦!