#define和const
时间: 2024-01-08 10:13:55 浏览: 89
C语言中const与#define的区别
5星 · 资源好评率100%
#define是C/C++中的预处理指令,它用来定义一个宏。宏定义不带类型,可以用来定义常量、函数、条件编译等。而const是C/C++中的关键字,用于定义常量。const修饰的常量有类型的约束。
在使用#define定义宏时,编译器只是简单地将宏的名字替换为对应的内容。而使用const定义常量时,编译器会为常量分配内存并进行类型检查。
#define的作用域是整个程序,或者是从#define开始,到#undef结束。而const的作用域是整个程序的生命周期。
举个例子来说,如果我们使用#define定义一个宏:#define PI 3.1415926,那么在代码中的任何地方使用PI时,都会被替换成对应的值。
如果我们使用const定义一个常量:const double PI = 3.1415926,那么PI只能在定义的作用域内使用,且不能被修改。
阅读全文