const char * 类型的实参与 char * 类型的形参不兼容_const关键字到底该什么用?

  • Post author:
  • Post category:其他


b15ccb9e72f9d0545aa4cdb3f1743cf2.png

文 | 守望先生

经授权转载自公众号编程珠玑(id:shouwangxiansheng)


前言


我们都知道使用const关键字限定一个变量为只读,但它是真正意义上的只读吗?实际中又该如何使用const关键字?在解答这些问题之前,我们需要先理解const关键字的基本使用。本文说明C中的const关键字,不包括C++。


基本介绍


const是constant的简写,是不变的意思。但并不是说它修饰常量,而是说它限定一个变量为只读。


修饰普通变量


例如:

const 

由于使用了const修饰NUM,使得NUM为只读,因此尝试对NUM再次赋值的操作是非法的,编译器将会报错。正因如此,如果需要使用const修饰一个变量,那么它只能在开始声明时就赋值,否则后面就没有机会了(后面会讲到一种特殊情况)。


修饰数组


例如使用const关键字修饰数组,使其元素不允许被改变:

const 

试图修改arr的内容的操作是非法的&#x