2.typedef与define的区别
(1)性质不同。typedef是关键字,而define是预处理指令。
(2)功能不同。typedef具有类型检查功能,通常用于增强程序的可读性和易编写性;而define只是进行简单的字符替换,通常用于增强程序的可移植性(嵌入式开发中),降低程序的复杂度和冗余度。
(3)作用时间不同。typedef在编译时处理;而define是C语言中的一个宏定义指令,在编译预处理时展开,不会进行错误的检查,只是进行简单的字符替换,只有在编译的时候才会发现可能的错误。
(4)作用域限制不同。define没有作用域的限制,typedef有自己的作用域。
(5)对指针的操作方式不同。typedef定义指针的别名时,别名可以连续定义两个指针变量。define定义指针的别名时,使用这个别名连续定义两个变量,其中第一个为指针变量,第二个为整型变量(具体例子可见参考)。
参考:https://blog.csdn.net/summer00072/article/details/80918483
本篇内容是在以上文章的基础上做出的整理,欢迎大家修正。