const的用法

const的用法:

一、 保持变量的值

在声明变量为 const之后, 该变量的值不能被改变;

例:

int a=5;//a为普通整形变量
const double b=5.5;//b为const变量
a=10;//有效,a的值可以改变
b=10.1;//无效,const声明的变量不能被改变

二、保护实参的数据不变(典型为数组):

例:

int sum(const int arr[]);//声明函数的形参为const

int sum(const int arr[])//函数的实现部分,形参数组为const
{
    int total;
    for(int i=0;i<10;i++)
        total+=arr[i];
    return total;
}

上面的例子中, const会告诉编译器,该函数不能修改arr所指向的数组中的内容,例如:arr[i]++的表达式将会出错,在需要调用实参的数值但又不改变其数值的情况下,const很好的保护了实参的原来数值。指针

三、 指针中常见的三种const 定义方法:

1. 指向const的指针的值不变

指向const的指针不能改变其指向的地址的值,但是能改变指向

int arr[5]={0,1,2,3,4};
const int *p=arr;    //定义一个指向const的指针,指向数组arr首地址
*p=arr[2];    //想要改变指向的值,错误!
p=&arr[2];    //改变指向,可以

2.const指针的指向不变

不能改变指针的指向, 但是可以改变指向的地址的值

int arr[5]={0,1,2,3,4};
int * const p=arr;    //定义一个指针,指向数组arr首地址
*p=10;    //改变指向的值,可以
p=&arr[2];    //想改变指向,错误!

3.指向和指向的值都不能改变

既不能改变指针的指向,也不能改变指针指向的值

int arr[5]={0,1,2,3,4};
const int * const p=arr;    //定义一个指针,指向数组arr首地址
*p=10;    //想改变指向的值,错误!
p=&arr[2];    //想改变指向,错误!

const在指针中的应用这三种常见的方式,在面试中经常出现,还是很有必要掌握的!

 

By Lalmon

10/21/2019

Beijing

转载请注明,谢谢! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值