typedef char * String_t定义了一个新的类型别名,有类型检查。
#define String_d char *只做了简单的替换,无类型检查。- 前者在编译的时候处理,后者在预编译的时候处理。
- 同时定义多个变量的时候有区别,主要区别在于这种使用方式:
String_t a,b;String_d c,d;
a,b,c 都是char *类型,而d为char类型 - 由于typedef 还要做类型检查,#define 没有,所以typedef 比#define 安全。
转自:http://blog.youkuaiyun.com/sinat_29844779/article/details/61191501
本文探讨了C语言中typedef与#define的用法差异。主要分析了二者在类型检查、变量声明等方面的不同,并强调了typedef相比#define具备更高的安全性。
2234

被折叠的 条评论
为什么被折叠?



