C语言const的用法
2021-02-04 04:17
标签:分配 它的 常用 报错 类型 img 函数的参数 机械 区别 const是constant的缩写,意思是“恒定不变的”,它是定义只读变量的关键字。用const定义只读变量的方法很简单,就在定义变量时前面加const即可,如: 用const定义的变量的值是不允许改变的,不允许给它重新赋值,即使是赋相同的值也不可以。所以说它定义的是只读变量。这也就意味着必须在定义的时候就给它赋初值,如果程序中试图改变它的值,编译的时候就会报错。 示例(book.c) 编译效果 1)define是预编译指令,而const是变量的定义。define定义的宏是在预处理阶段展开的,而const定义的只读变量是在编译运行阶段使用的。 2)const定义的是变量,而define定义的是常量。define定义的宏在编译后就不存在了,它不占用内存,因为它不是变量,系统只会给变量分配内存。但const定义的常变量本质上仍然是一个变量,具有变量的基本属性,有类型,占用存储单元。 3)const定义的是变量,而宏定义的是常量,所以const定义的对象有数据类型,而宏定义的对象没有数据类型。所以编译器可以对前者进行类型安全检查,而对后者只是机械地进行字符替换,没有类型安全检查。 在给函数传参数时(如变量的地址),为了防止在函数内部改变参数的值(指针指向的值),通常用const来修饰函数的参数,给该函数传一个不可改变的值。 C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。 来源:C语言技术网(www.freecplus.net) 作者:码农有道 C语言const的用法 标签:分配 它的 常用 报错 类型 img 函数的参数 机械 区别 原文地址:https://blog.51cto.com/14793471/2491273 const double pi = 3.1415926;
/*
* 程序名:book.c,此程序演示只读变量
* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include
2、const与define的区别
3、const修饰函数的参数
4、版权声明
上一篇:C语言for循环