C语言精讲,2分钟带你详细了解const的三种用法

前言:

const 是 constant 的缩写,是恒定不变的意思,也翻译为常量、常数等。很不幸,正是因为这一点,很多人都认为被 const 修饰的值是常量。这是不精确的,精确的说应该是只读的变量,其值在编译时不能被使用,因为编译器在编译时不知道其存储的内容。或许当初这个关键字应该被替换为 readonly。那么这个关键字有什么用处和意义呢?

在C语言中,const是一个关键字,用于声明常量。const关键字可以应用于变量、函数参数和函数返回值,用于指定它们的值不能被修改。

1. const修饰变量:

- 通过在变量声明前加上const关键字,可以将该变量声明为常量,其值在初始化后不能被修改

- 常量的值必须在声明时进行初始化,并且不能再被修改。任何试图修改常量值的操作都会导致编译错误。

- 声明常量的语法:const 数据类型 常量名 = 初始值;

定义const只读变量,具有不可变性。例如:

const int Max=100;

int Array[Max];

这里请在VisualC++6.0里分别创建.c文件和.cpp文件测试一下。你会发现在.c文件中,编译器会提示出错,而在.cpp文件中则顺利运行。为什么呢?我们知道定义一个数组必须指定其元素的个数。这也从侧面证实在C语言中,const修饰的Max仍然是变量,只不过是只读属性罢了;而在C++里,扩展了const的含义,这里就不讨论了。

注意:const修饰的只读变量必须在定义的同时初始化,想想为什么?

留一个问题:case语句后面是否可以是const修饰的只读变量呢?请动手测试一下。

2. const修饰函数参数:

- 在函数声明或定义中,可以使用const关键字来修饰函数参数,表示该参数在函数内部不会被修改。

- 通过使用const修饰函数参数,可以增加代码的可读性和清晰度,同时也能够确保函数不会无意间修改传入的参数值。

- 声明带有const修饰的函数参数的语法:数据类型 const *参数名

(表示指针指向的值不可修改)或者 const 数据类型 参数名(表示函数内部不能修改参数的值)。

const修饰符也可以修饰函数的参数,当不希望这个参数值被函数体内意外改变时使用。例如:

void  fun (const inti);

告诉编译器i在函数体中的不能改变,从而防止了使用者的一些无意的或错误的修改。

3. const修饰函数返回值:

- 在函数声明或定义中,可以使用const关键字来修饰函数的返回值,表示函数返回的值不能被修改。

- 通过使用const修饰函数返回值,可以向调用者明确表明返回的值是一个常量,不能进行修改操作。

- 声明带有const修饰的函数返回值的语法:const 数据类型 函数名(参数列表)

const修饰符也可以修饰函数的返回值,返回值不可被改变。例如:

const int Fun(void);

在另一连接文件中引用const只读变量:

extern const inti;//正确的声明

extern const intj=10             ;//错误!只读变量的值不能改变。

注意这里是声明不是定义,关于声明和定义的区别,请看本章开始处。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习的长颜草

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值