C语言const的用法

2021-02-04 04:17

阅读:621

标签:分配   它的   常用   报错   类型   img   函数的参数   机械   区别   

1、const的用法

const是constant的缩写,意思是“恒定不变的”,它是定义只读变量的关键字。用const定义只读变量的方法很简单,就在定义变量时前面加const即可,如:

  const double pi = 3.1415926;

用const定义的变量的值是不允许改变的,不允许给它重新赋值,即使是赋相同的值也不可以。所以说它定义的是只读变量。这也就意味着必须在定义的时候就给它赋初值,如果程序中试图改变它的值,编译的时候就会报错。

示例(book.c)

/*
 *  程序名:book.c,此程序演示只读变量
 *  作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include 

int main()
{
  const double pi=3.1415926;   // 定义只读变量

  pi=3.1415927;  // 试图改变只读变量的值。
}

编译效果
技术图片

2、const与define的区别

1)define是预编译指令,而const是变量的定义。define定义的宏是在预处理阶段展开的,而const定义的只读变量是在编译运行阶段使用的。

2)const定义的是变量,而define定义的是常量。define定义的宏在编译后就不存在了,它不占用内存,因为它不是变量,系统只会给变量分配内存。但const定义的常变量本质上仍然是一个变量,具有变量的基本属性,有类型,占用存储单元。

3)const定义的是变量,而宏定义的是常量,所以const定义的对象有数据类型,而宏定义的对象没有数据类型。所以编译器可以对前者进行类型安全检查,而对后者只是机械地进行字符替换,没有类型安全检查。

3、const修饰函数的参数

在给函数传参数时(如变量的地址),为了防止在函数内部改变参数的值(指针指向的值),通常用const来修饰函数的参数,给该函数传一个不可改变的值。

4、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

来源:C语言技术网(www.freecplus.net)

作者:码农有道

C语言const的用法

标签:分配   它的   常用   报错   类型   img   函数的参数   机械   区别   

原文地址:https://blog.51cto.com/14793471/2491273


评论


亲,登录后才可以留言!