#define与const区别(定义常量): 1. const常量有数据类型,而#define(宏)常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应)。 2. const常量在堆栈分配了空间,而#define(宏)常量只是把具体数值直接传递到目标变量罢了。或者说,const的常量是一个Run-Time的 概念,他在程序中确确实实的存在并可以被调用、传递。而#define常量则是一个Compile-Time概念,它的生命周期止于编译期:在实际程序中 他只是一个常数、一个命令中的参数,没有实际的存在。 3. const常量存在于程序的数据段,#define常量存在于程序的代码段。 4. 有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。 typedef的四个用途和两个陷阱 用途一: |
#define 与const的区别 以及 typedef的四个用途和两个陷阱
最新推荐文章于 2023-08-21 21:00:13 发布
本文详细解析了C/C++编程语言中#define与const定义常量的区别,包括类型安全、内存分配等方面的不同,并介绍了typedef的四大用途及其在代码编写中的应用技巧。
1900

被折叠的 条评论
为什么被折叠?



