C语言中关键字const的总结

 在总结const的用法时,我们先简单介绍一下const的概念!

const可以修饰变量,使该变量的值不能改变(即就是可以用来定义常量),而宏常量#define(预编译指令)也可以用来定义常量,这里我们将二者做一个简单的对比。

(1)const常量有数据类型,#define没有数据类型;

(2)const可以保护被修饰的东西,防止其被意外修改,可以增强程序的健壮性;

        #define只进行字符替换,没有类型安全检查,在字符替换过程中可能会出现一些错误,例如:边界问题;

(3)通常情况下,编译器不会为const常量分配存储空间,而是将其保存在符号表中,作为编译期间的一个常量,不会占用内存          以及不进行读操作,效率自然很高;

(4)有些集成化的调试工具可以对const常量进行调试,但不能对宏常量进行调试。(另外,在C++中,只使用const常量而不          使用宏常量,即const常量可以完全替代宏常量)。

有了以上的铺垫,我们来看一看const的用法吧!

一、const修饰常量

举例:

const char* str = "abcdefg";
如果没有const修饰,我们可以在这个字符串后面任意加一些其他的字符串,这样会导致只读存储区域被赋值,接着程序会马上异常终止;但是加上const之后,这样的错误会在程序编译阶段检测出来(即就是,让逻辑错误在编译期间被检测出来)。

二、const修饰变量

1.局部变量

举例:

const int a = 10;
int const a = 10;

以上两种表达形式都是一个意思,指的是变量a的值是10不能被改变了(常变量)。

但这里需要注意的是,con

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值