C/C++——#define和const的区别

本文对比了C语言中使用#define命令定义符号常量的方法与C++中使用const定义常变量的方式。详细解释了两种方式的区别,包括符号常量在预编译阶段的字符置换特性以及常变量具有的数据类型、存储特性和不可变性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#define命令来定义符号常量

在C语言中常用#define命令来定义符号常量:#define PI 3.14159

实际上,只是在预编译时进行字符置换,把程序中出现的字符串PI全部换成3.14159。在预编译之后,程序中不再有PI这个标识符。PI不是变量,没有类型,不占用存储单元,而且容易出错。

const定义常变量

C++提供了用const定义常变量,如:const float PI = 3.14159;

定义了常变量PI, 它具有变量的属性,有数据类型,占用存储单元,有地址,可以用指针指向它,只是在程序运行期间的值是固定的,不能变。它方便易用,避免了用#define定义符号常量时出现的缺点。因此,const 问世后,已取代了用#define定义符号常量的作用。一般把程序中不允许改变值的变量定义为常量。const 可以与指针结合使用,有指向常变量的指针,常指针,指向常变量的常指针等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值