C语言中const 到底有啥用?这篇文章给你一次讲清楚
const的大作用
首先我们先来说一下const是什么东东?
在C语言中 const关键字用来修饰变量名为只读,仅此而已。
好的,让我们步入正题,开始探索const的密码
1.创建只读变量
const int count=50;
2.保护数组
const int array[]={1,2,3,4,5}
3.指向const的指针不能用于改变值
double rate[3]={1.32,1.89,9.63}
const double * pointer=rate;
*pointer=23.6;
rate[0]=99.99;
pointer++;
4.把const数据或非const数据的地址初始化为指向const的指针或为其赋值是合法的
int rate[5]={1,2,3,4,5}
const int locked[4]={1,2,3,4,5}
const int *pointer=rate;
pointer=locked;
pointer=&rate[1];
5.只能把非const 数据的地址赋给普通的指针
int rate[5]={1,2,3,4,5}
const int locked[4]={1,2,3,4,5}
double *pointer=rate;
double *pointer=locked;
pointer=&rate[1];
6.声明并初始化一个不能指向别处的指针
int array[5]={1,2,3,4,5}
int * const pointer=array;
pointer=&array[1];
*array=50;
7.声明指针既不能改变它所指向的值,也不能修改指向地址上的值
int array[5]={1,2,3,4,5}
const int * const pointer=array;
pointer=&array[1];
*pointer=100;
8.对形参使用const
int sum(const int ar[],int n);
const告诉编译器,该函数不能修改ar指向数组中的内容。如果在函数中不小心使用类似ar[i]++这样的表达式,编译器会捕捉到这样的信息,并生成一条错误信息。