const和define的区别
1个回答
展开全部
const用于定义常量;而define用于定义宏,而宏也可以用于定义常量。都用于常量定义时,它们的区别有:
1、const生效于编译的阶段;define生效于预处理阶段。预处理在编译之前,预处理器将源代码中的宏统一替换为指定的字符。从语义上讲,const是声明一个不可修改的数据,而define则是在对源代码进行替换。
2、const定义的常量,在C语言中是存储在内存中、需要额外的内存空间的,只有C++才不会为其分配内存、而是将其储存在符号表中,使得它成为一个编译期间的常量;define定义的常量,运行时是直接的操作数,并不会存放在内存中。
3、const定义的常量是带类型的;define定义的常量不带类型。因此define定义的常量不利于类型检查。
1、const生效于编译的阶段;define生效于预处理阶段。预处理在编译之前,预处理器将源代码中的宏统一替换为指定的字符。从语义上讲,const是声明一个不可修改的数据,而define则是在对源代码进行替换。
2、const定义的常量,在C语言中是存储在内存中、需要额外的内存空间的,只有C++才不会为其分配内存、而是将其储存在符号表中,使得它成为一个编译期间的常量;define定义的常量,运行时是直接的操作数,并不会存放在内存中。
3、const定义的常量是带类型的;define定义的常量不带类型。因此define定义的常量不利于类型检查。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询