1、define只是用来做文本宏替换,define常量的生命周期止于编译期,它存在于程序的代码段,在实际程序中只是一个常数; 而const存在于程序的数据段,并在堆栈中分配了空间
2、define定义的常量在程序运行时不可被调用、传递,因为define没有给名字分配空间,仅仅只是给一个常数起了一个名字;
而const常量在程序中确确实实存在,所以在程序运行时可以被调用、传递。
3、define定义的常量没有数据类型;而const是有数据类型的。编译器是可以对const常量进行类型安全检查
1、define只是用来做文本宏替换,define常量的生命周期止于编译期,它存在于程序的代码段,在实际程序中只是一个常数; 而const存在于程序的数据段,并在堆栈中分配了空间
2、define定义的常量在程序运行时不可被调用、传递,因为define没有给名字分配空间,仅仅只是给一个常数起了一个名字;
而const常量在程序中确确实实存在,所以在程序运行时可以被调用、传递。
3、define定义的常量没有数据类型;而const是有数据类型的。编译器是可以对const常量进行类型安全检查