博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言中const有什么用途
阅读量:6321 次
发布时间:2019-06-22

本文共 956 字,大约阅读时间需要 3 分钟。

自己上网查的资料。

  1. 可以定义const常量,具有不可变性。

    例如:const int Max=100; Max++会产生错误; 

  2. 便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。

    例如: void f(const int i) { .........} 编译器就会知道i是一个常量,不允许修改; 

  3. 可以避免意义模糊的数字出现,同样可以很方便地进行参数的调整和修改。 同宏定义一样,可以做到不变则已,一变都变!

    如(1)中,如果想修改Max的内容,只需要它修改成:const int Max=you want;即可!

  4. 可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。 还是上面的例子,如果在函数体内修改了i,编译器就会报错;

    例如: void f(const int i) { i=10;//error! }

  5. 可以节省空间,避免不必要的内存分配。 例如: 

#define PI 3.14159 //常量宏

const double Pi=3.14159; //此时并未将Pi放入RAM中 ......
double i=Pi; //此时为Pi分配内存,以后不再分配!
double I=PI; //编译期间进行宏替换,分配内存
double j=Pi; //没有内存分配
double J=PI; //再进行宏替换,又一次分配内存!
const定义常量从汇编的角度来看,只是给出了对应的内存地址,而不是像#define一样给出的是立即数,所以,const定义的常量在程序运行过程中只有一份拷贝,而#define定义的常量在内存中有若干份拷贝。 

6. 提高了效率。

编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。

 

扩展资料:const是一个C语言(ANSI C)的关键字,具有着举足轻重的地位。它限定一个变量不允许被改变,产生静态作用。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一定帮助。

转载于:https://www.cnblogs.com/jason-linux/p/10603257.html

你可能感兴趣的文章
activemq安全设置 设置admin的用户名和密码
查看>>
[Python基础]Python中remove,del和pop的区别
查看>>
两年来的core折腾之路几点总结,附上nginx启用http2拿来即用的配置
查看>>
总线设备驱动模型【转】
查看>>
HBase 的表结构
查看>>
VirtualBox NAT方式与主机互相通信
查看>>
Android 信号处理面面观 之 信号定义、行为和来源
查看>>
设计模式-观察者模式(Observer Pattern)
查看>>
windows下的 gvim - su'blime text 的使用
查看>>
缓存理论
查看>>
了解一个人
查看>>
一个状态机的实现
查看>>
禅道配置
查看>>
消息队列 概念 配合SpringBoot使用Demo
查看>>
Linux在应用层读写寄存器的方法
查看>>
【转】 Class.forName()用法及与new区别 详解
查看>>
ubuntu 删除自带软件的方法
查看>>
[转]什么?你还不会写JQuery 插件
查看>>
OpenCV学习:Mat结构中的数据共享机制
查看>>
JFreeChart应用实例-折线图
查看>>