缘起
《C和指针》 3.3
分析
1 | char *ptr_to_char; |
声明了一个指向字符数据类型的指针变量,它名叫ptr_to_charptr_to_char.
但是如果加一个typedef的话
1 | typedef char *ptr_to_char; |
则其实是声明了一种自定义数据类型ptr_to_char, 它等同于 char *, 所以我们可以使用它来定义指向字符数据的指针. 即
1 | ptr_to_char a; |
则a就是一个指向字符类型数据的指针变量.
显然,使用typedef利于简化代码.
我们应该使用typedef而不是 #define 来定义自定义数据类型, 因为 #define不能很好的处理指针类型.
例如
1 | define char *ptr_to_char char * |
正确的声明了a为指向字符类型的指针变量,但是b却是声明为一个字符变量. 所以尽可能使用typedef而不是#define.
Powered By Valine
v1.5.2
v1.5.2