define typedef inline

张开发
2026/6/26 11:55:30 15 分钟阅读
define typedef inline
define 和typedef 的区别define只是简单的字符串替换没有类型检查是在编译的预处理阶段起作用可以用来防止头文件重复引用不分配内存给出的是立即数有多少次使用就进行多少次替换typedef有对应的数据类型是要进行判断的是在编译、运行的时候起作用在静态存储区中分配空间在程序运行过程中内存中只有一个拷贝define 和inline 的区别1、define定义预编译时处理的宏只是简单的字符串替换无类型检查不安全。2、inlineinline是先将内联函数编译完成生成了函数体直接插入被调用的地方减少了压栈跳转和返回的操作。没有普通函数调用时的额外开销内联函数是一种特殊的函数会进行类型检查对编译器的一种请求编译器有可能拒绝这种请求C中inline编译限制不能存在任何形式的循环语句不能存在过多的条件判断语句函数体不能过于庞大内联函数声明必须在调用语句之前const和define的区别const用于定义常量而define用于定义宏而宏也可以用于定义常量。都用于常量定义时它们的区别有const生效于编译的阶段define生效于预处理阶段。const定义的常量在C语言中是存储在内存中、需要额外的内存空间的define定义的常量运行时是直接的操作数并不会存放在内存中。const定义的常量是带类型的define定义的常量不带类型。因此define定义的常量不利于类型检查。

更多文章