const与define的区别

#define PI   3.14

首先:define,在程序编译的时候会把“#define PI   3.14”以后所有代码中的PI换成3.14,然后进行编译,#define的声明周期止于编译期,它存在于程序的代码段,在实际程序中它只是一个常数、一个命令中的参数,没有实际存在,它只是进行文本替换;


const常量存在于程序的数据段,并在堆栈上分配了空间,它在程序中是存在的可以被调用,传递

const常量有数据类型,而define常量没有数据类型,所以编译期可以对const常量进行类型安全检查。

猜你喜欢

转载自blog.csdn.net/yinzewen123/article/details/80557446
今日推荐