幻数宏

Posted xslwm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了幻数宏相关的知识,希望对你有一定的参考价值。

在c语言中,把直接使用的常数叫做幻数。

#define SIZE 10
enum{ SIZE = 10 };
const int SIZE = 24;
 
宏定义是字符替换,没有数据类型的区别,同时这种替换没有类型安全检查,可能产生边际效应等错误;
const常量是常量的声明,有类型区别,需要在编译阶段进行类型检查
 
宏定义可以通过#undef来使之前的宏定义失效
 
宏定义不能作为参数传递给函数
const常量可以在函数的参数列表中出现
 
尽量不使用宏,
C语言也有const值,但是他们不能用作数组的界。这样,enum就是C中唯一可用的选择了。

以上是关于幻数宏的主要内容,如果未能解决你的问题,请参考以下文章

什么是伯克利 DB 幻数?

vim编辑修改二进制文件以及对于二进制文件中幻数测试

vim编辑修改二进制文件以及对于二进制文件中幻数测试

magicnumber是啥?C语言

幻数(magic number)

什么是计算机编程中的“幻数”?