📜  C中的#define和const之间的区别?

📅  最后修改于: 2021-05-26 00:20:45             🧑  作者: Mango

#define是预处理程序指令。在编译开始之前,将#define定义的内容替换为预处理器。

const变量是实际变量,就像其他普通变量一样。

const比#define的最大优势是类型检查。我们还可以使用指向const变量的指针,可以传递它们,进行类型转换,以及使用普通变量可以完成的任何其他操作。人们可能想到的一个缺点是变量的额外空间,由于编译器进行了优化,因此这是无关紧要的。

通常,如果可以选择,const是更好的选择。在某些情况下,#define无法用const代替。例如,#define可以接受参数(例如,请参见此内容)。 #define还可以用于将程序中的某些文本替换为另一文本。

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。