c语言【const】用法
1.const可用于保护数据:如下例程序所示,可保护数组不被show_array函数改变其值。
1 #include<stdio.h> 2 #define SIZE 5 3 void show_arry(const double ar[], int n); 4 void mult_array(double ar[], int n, double mult); 5 int main(void) 6 { 7 double dip[SIZE] = { 20.0,3.2,5.3,63.0,6.3 }; 8 9 printf("the original dip array:\n"); 10 show_arry(dip, SIZE); 11 mult_array(dip, SIZE, 5.0); 12 printf("the dip array after callling mult_array():\n"); 13 show_arry(dip, SIZE); 14 15 return 0; 16 } 17 18 19 void show_arry(const double ar[], int n) 20 { 21 int i; 22 for (i = 0; i < n; i++) 23 printf("%8.3f", ar[i]); 24 putchar('\n'); 25 } 26 27 void mult_array(double ar[], int n, double mult) 28 { 29 int i; 30 for (i = 0; i < n; i++) 31 ar[i] *= mult; 32 33 }
double rates[3]={2.3,3.1,56.0};
const double *pd =rates;
中,不可使用pd 改变它指向的值:
*pd=29.89; //不允许
pd[2]=22.13; //不允许
rates[0]=22.33; //允许,因为rates未被const限定
pd++; //允许
void show_array(const double *ar,int n);
1)把const数据或非const 数据的地址初始化为指向const的指针或为其赋值是合法的:。
2)只能把非const数据的地址赋给普通指针。
double rates[3]={2.3,3.1,56.0};
double const *pc=rates;
中,声明并初始化一个不可以指向别处的指针,即:
pc++; //不允许
但是可以改变其指向的值:
*pc=50.2 //允许
double rates[3]={2.3,3.1,56.0};
const double const *pb=rates;
中,该指针既不能改变其指向的值,也不能改变其指向,即
pb=&rate[1]; //不允许
*pb=3.0; //不允许
转载于:https://www.cnblogs.com/bingger/p/11110275.html
c语言【const】用法相关推荐
- c语言const用法的位置与意义,const(c语言const的用法详解)
const int *A; //const修饰指向的对象,A可变,A指向的对象不可变 怎么理解?. 呵呵,想法挺独特啊.const在声明变量时有四种用法:int x = 10;int y = 11.c ...
- C语言const用法详解(带实例)
const与define区别 在C语言中const常用来定义常量,表示这个常量是不可以被修改的.define宏定义也可以用来表示一个常量.那么他们有那些区别呢! 1.预编译指令只是对值进行简单的替换, ...
- C语言const用法
1.const变量,初始化时必须赋值 const int num=5; //等价于下一行 int const num=5; 2.指针常量和常量指针 2.1.指针常量(*在前,const在后) int ...
- 计算长方形体积c语言const,c语言const
<OOC>笔记(1)--C语言const.static和extern的用法 笔记(1)--C语言const.static和extern的用法 C语言中const关键字用法不少,我只喜欢两种 ...
- c语言 const常量作用,C语言 const常量讲解
//const的本质 //const本质上是伪常量,无法用于数组初始化以及全局变量初始化 //原因在于const仅仅限定变量无法直接赋值,但是却可以通过指针间接赋值 //例如局部常量在栈区,而不在静态 ...
- C语言高频率--typedef和const用法详解
一.typedef用法详解 C语言允许为一个数据类型起一个新的别名,就像给人起"绰号"一样. 起别名的目的不是为了提高程序运行效率,而是为了编码方便.例如有一个结构体的名字是 st ...
- C语言返回值是const类型,C++中const用法总结
1.1.1. 定义普通常量 使用#define来定义常量也是常用方法,但const也可以用来定义常量,在[Effective C++]中建议使用const代替#define来定义常量,因为const定 ...
- C语言const使用
C语言const使用 作者:delnabla 日期:2009-06-11 字体大小: 小 中 大 看了几篇介绍const的文章,这篇讲解的比较透彻易懂,摘录过来! const是一个C语言的关键字,它限 ...
- C语言const专题
C语言const专题 const基础知识(用法.含义.好处.扩展) 含义 Const好处 const基础知识(用法.含义.好处.扩展) int main() {const int a; // int ...
- c语言指针用法有哪些
c语言指针用法: 一,指针定义: 指针变量的取值范围取值0~4G,是一种数据类型(无符号整数,代表了内存编号).它可以用来定义变量(与int.long一样),与int.long不同的它存储整数代表了内 ...
最新文章
- LVM 类型的 Storage Pool - 每天5分钟玩转 OpenStack(8)
- 编译器错误信息: CS1595: 已在多处定义“ ”;一种可能出现的情况
- UVa 10652 (简单凸包) Board Wrapping
- python 编程算法_python语言编程算法
- javascript基本数据类型与值类型引用类型说明
- 怎么创建c语言数组的格式,c – 如何创建类类型数组?
- 星际争霸战略战术的发展和创新
- Ubuntu系统各个版本的镜像下载地址
- Youzi2D推出开源HTML5游戏加速引擎
- 基于MUI框架的影视播放APP的设计与实现毕业设计论文参考【原查重5.1%】
- 物联网应用网站——用户手册
- 服务器ghost备份后无法进入系统还原,一键Ghost备份还原解决方法
- chrome浏览器google搜索结果打不开
- 加州大学欧文计算机排名,2019加州大学欧文分校排名(USNews排名)
- Python爬虫从入门到精通:(36)CrawlSpider实现深度爬取_Python涛哥
- 人脸识别 ArcFace 实现
- html2canvas导出照片样式乱,html2canvas生成图片(图片样式和显示样式不一致)
- DFC开发平台的设计理念
- mysql 表设计工具_非常好用的一个表设计工具(EZDML)
- 图像质量评价学习笔记02:IQA模型性能评价指标(PLCC、SROCC、KROCC、RMSE)
热门文章
- C++算法学习(回溯算法)
- android源码已关联设备,获取android设备已安装应用信息
- java float存储方式_Java中小数的存储方式
- JAVA 集合Null 初始化_springboot使用mybatis-plus表单更新null值问题通用解决方案
- interop.cdo 发送邮件乱码_手把手教你用 Java 发送邮件,不用框架
- c++ 方向_物理微课揭秘摩擦力的方向
- android 发送按键 0,android monitor tool (8.0 模拟发送按键及触摸屏事件实现)
- 基于Java的智能问答系统
- [数据仓库]数据仓库和数据库的区别
- C#.NET 通用权限管理系统中的数据集权限设置实现参考界面(商业化成熟权限管理系统,提供全部源码)...