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安全。
转载请注明原文地址: https://ju.6miu.com/read-18167.html