120、define、const、typedef、inline的使用方法?他们之间有什么区别?
2021/7/18 6:06:14
本文主要是介绍120、define、const、typedef、inline的使用方法?他们之间有什么区别?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、const与#define的区别:
1) const定义的常量是变量带类型,而#define定义的只是个常数不带类型;
2) define只在预处理阶段起作用,简单的文本替换,而const在编译、链接过程中起作用;
3) define只是简单的字符串替换没有类型检查。而const是有数据类型的,是要进行判断的,可以避免一些低级错误;
4) define预处理后,占用代码段空间,const占用数据段空间;
5) const不能重定义,而define可以通过#undef取消某个符号的定义,进行重定义;
6) define独特功能,比如可以用来防止文件重复引用。
二、 #define和别名typedef的区别
1) 执行时间不同,typedef在编译阶段有效,typedef有类型检查的功能;#define是宏定义,发生在预 处理阶段,不进行类型检查;
2) 功能差异,typedef用来定义类型的别名,定义与平台无关的数据类型,与struct的结合使用等。 #define不只是可以为类型取别名,还可以定义常量、变量、编译开关等。
3) 作用域不同,#define没有作用域的限制,只要是之前预定义过的宏,在以后的程序中都可以使用。 而typedef有自己的作用域。
三、 define与inline的区别
1) #define是关键字,inline是函数;
2) 宏定义在预处理阶段进行文本替换,inline函数在编译阶段进行替换;
3) inline函数有类型检查,相比宏定义比较安全;
这篇关于120、define、const、typedef、inline的使用方法?他们之间有什么区别?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享
- 2024-12-22el-tabs 组件只被引用了一次,但有时会渲染两次是什么原因?-icode9专业技术文章分享
- 2024-12-22wordpress有哪些好的安全插件?-icode9专业技术文章分享
- 2024-12-22wordpress如何查看系统有哪些cron任务?-icode9专业技术文章分享
- 2024-12-21Svg Sprite Icon教程:轻松入门与应用指南
- 2024-12-20Excel数据导出实战:新手必学的简单教程
- 2024-12-20RBAC的权限实战:新手入门教程
- 2024-12-20Svg Sprite Icon实战:从入门到上手的全面指南
- 2024-12-20LCD1602显示模块详解
- 2024-12-20利用Gemini构建处理各种PDF文档的Document AI管道