c语言中的关键字const
来源:互联网 发布:网红淘宝 扒皮 编辑:程序博客网 时间:2024/06/06 08:32
关键字 const 的几个用法规则:
1. const 可以用来保护 数组元素,例如:void sum(const int arr[], int n)
在函数里面不能对数组元素进行更改
用const定义数组表示数组元素不能进行更改;
例如:const int arr[3] = {1, 2, 3};
arr[2] = 5; // error
所以如果不需要改变数组里面的元素,可以使用const来保护数组
2. 可以用const来创建符号常量,例如:const double PI = 3.14
这样在程序中出现 3.14 的地方都可以用PI来替代
3. 用const定义指针,(主要看const的位置)
例如:int arr[3] = {1, 2, 3};
const int * p1 = arr;
* p1 = 43; // error
// p1指向arr,这样不能通过 * p1 = 43,来改变arr[0],的值,
// 若要改变arr[0],可以arr[0] = 43;
int arr[3] = {4, 5, 6};
int * const pd = arr; // 从此p1 只能指向arr,但是可以通过 *pd 来改变 pd 指向的值
pd = &arr [2]; // error
* pd = 43; // 合法
int arr[3] = {7, 8, 9};
const int * const p2 = arr; // 从此 p2 只能指向arr,并且下面两行代码都是错误的
* p2 = 43; //error
p2 = & arr[1]; //error
4.将常量或非常量者数据的地址赋给指针常量的指针是合法的;
例如:int arr[5] = {89, 98, 45, 56, 35};
const int rates[4] = {1, 2, 3, 4};
const int * pc = arr; // 合法
pc = rates; // 合法
但是普通指针只能指向非常量数据
例如:const int arr[3] = {1, 2, 3};
int rates[3] = {4, 5, 6};
int * pd = rates; // 合法
pd = arr; // 非法
// 这样定义的函数可以接收常量非常量类型数据的地址
void arr_show(const int arr[], int n)
{
// 语句
}
//但是这样定义的函数只能接收常量类型数据的地址
void arr_mult(int arr[], int n)
{
// 语句
}
*****************************************************************************************************************************
参考:《C primer plus》第五版 中文版
0 0
- C语言中的关键字const
- C语言中的const关键字
- c语言中的关键字const
- c语言中的const关键字
- 有关C语言中的关键字const
- C语言关键字----Const
- C语言关键字----Const
- C语言----------const关键字
- C语言关键字const
- c语言const关键字
- c语言关键字const
- C语言关键字const
- C语言:const关键字
- 解释一下C语言中的关键字const、volatile、static
- C语言const关键字作用
- C语言关键字const用法
- c语言const关键字用法
- C语言关键字 - 铁布衫:const
- LeetCode 495. Teemo Attacking
- linux 内存优化
- Java七种排序算法教程
- Ada and Queue
- C++编程学习52个经典网站 强力推荐
- c语言中的关键字const
- IT学习者
- 作业8:(1)超级英雄Hero
- python 各种库
- Django使用MySQL数据库
- java新手,用repaint方法重新绘图
- k-means聚类算法
- 2017跟着小虎玩着去软考--趣味好玩解析2015年下半年信息系统项目管理师上午试题66-70题
- java学习笔记(十一)封装、this关键字与static