C语言中的typedef跟define的区别
今天用C语言练习时涉及到了typedef和define的使用问题,那么他们的区别是啥?这种情况下为什么要用typedef?哪种情况下为什么要用define呢?
学习C的时候的你是否考虑过这个问题呢?
今天我决定梳理一下,以备后用。
相同点:
1、都可以给变量起别名
不同点:
1、define定义后可以扩展,而typedef则不可以。
1 //定义完一个整型的数据后补充定义为无符号的 2 3 #define zhengxing int 4 unsigned zhengxing;//正确 5 6 typedef zhengxing int 7 unsigned zhengxing; //错误
#行内代码
1 //定义完一个整型的数据后补充定义为无符号的
2 3 #define zhengxing int 4 unsigned zhengxing;//正确 5 6 typedef zhengxing int 7 unsigned zhengxing; //错误
2、typedef能够连续定义,define则不可以。
#define apple char* apple val1, val2; //val1 是指针类型 char*, val2 是 char 类型。 typedef apple char* apple val1, val2; // val1 和 val2 都是指针类型 char*
后续继续补充......