问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

const是什么意思?怎么用啊?

发布网友 发布时间:2022-05-20 21:58

我来回答

1个回答

热心网友 时间:2023-10-02 23:35

const

基本词义

n. 常数;常量;结构;构造;康铜;铜镍合金;建筑;建筑物

在C语言中

const修饰符可以把对象转变成常数对象,什么意思呢?
意思就就是说利用const进行修饰的变量的值在程序的任意位置将不能再被修改,就如同常数一样使用!
使用方法是:
const int a=1;//这里定义了一个int类型的const常数变量a;

但就于指针来说const仍然是起作用的,以下有两点要十分注意,因为下面的两个问题很容易混淆!
我们来看一个如下的例子: //程序作者:管宁
//站点:www.cndev-lab.com
//所有稿件均有版权,如要转载,请务必著名出处和作者
#include <iostream>
using namespace std;
void main(void)
{
const int a=10;
int b=20;
const int *pi;
pi=a;
cout <<*pi << "|" << a <<endl;
pi=b;
cout <<*pi << "|" <<b <<endl;
cin.get();
}

上面的代码中最重要的一句是 const int *pi
这句从右向座读作:pi是一个指向int类型的,被定义成const的对象的指针;
这样的一种声明方式的作用是可以修改pi这个指针所指向的内存地址却不能修改指向对象的值。
如果你在代码后加上*pi=10;这样的赋值操作是不被允许编译的!

好,看了上面的两个例子你对const有了一个基本的认识了,那么我们接下来看一个很容易混淆的用法!
请看如下的代码 //程序作者:管宁
//站点:www.cndev-lab.com
//所有稿件均有版权,如要转载,请务必著名出处和作者
#include <iostream>
using namespace std;
void main(void)
{
int a=10;
const int *const pi=a;
cout <<*pi << "|" <<a <<endl;
cin.get();
}
上面的代码中最重要的一句是 const int *const pi
这句从右向座读作:pi是一个指向int类型对象的const指针;
这样的一种声明方式的作用是你既不可以修改pi所指向对象的内存地址也不能利用指针的解引用方式修改对象的值,也就是用*pi=10这样的方式;
所以你如果在最后加上*pi=20,想试图通过这样的方式修改对象a的值是不被允许编译的!
所以结合上面的两点所说,把代码修改成如下形式后就可以必然在程序的任意的地方修改对象a的值或者是指针pi的地址了,下面的这种写法常被用语涵数的形式参数,这样可以保证对象不会在涵数内被改变值! //程序作者:管宁
//站点:www.cndev-lab.com
//所有稿件均有版权,如要转载,请务必著名出处和作者
#include <iostream>
using namespace std;
void main(void)
{
const int a=10;//这句和上面不同,请注意!
const int *const pi=a;
cout <<*pi << "|" <<a <<endl;
cin.get();
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 前仆后继(含反义词) CONST的主要作用 像争先恐后带有反义词的成语有哪些 反义词 悲欢离合 深入浅出 大同小异 凶多吉少 前因后果 前俯后仰 有始无终 喜新厌旧 重男轻女 古往今来 写反义词成语比如前因后果 前因后果的反义词成语 前因后果(带有反义词)的四字词语有什么 前因后果(含有反义词):四个 前因后果反义词 前因后果(含有反义词)写四个 介绍云门山上的寿字的作文 小松90挖掘机的价格 云门山花园植物园作文100字 龙工挖掘机90是多少钱 韶关云门山游乐园的作文 青州云门山 美文 新机90现代挖掘机多少钱 关于云门山的作文 云门山,风景作文382 春天游云门山日记400 const有什么用 通达信公式中“CONST”是什么含义 你好,我想问一下,我现在只有一个你们移动送的路由器,没有猫,那是不是我就没有办法连接台式机了? VB中const是什么意思? 请问中国移动宽带有无线路由器有猫现在安装一台台式电脑怎么联网? const 有什么用途? 一根移动网线一个无限路由器怎么连接一个台式一个本啊?急求,恳求高手解救,本与路由器隔三堵墙有影响么 我的一台台式电脑,一台笔记本,还有一台无线路由器,家里是移动的宽带,该如何连接设置才可以同时上网 招商银行信用卡积分兑换的极光密室密室逃脱套餐是几人的? 咔哇密室逃脱有人听过吗?怎么网上都是说他们骗人的?? 密逃大厦卖预售票后人去楼空,这属于诈骗行为吗? 密室逃脱密码第十关 日历怎么破? 有谁知道三水万达广场的密室逃脱侦探社第一关密码是多少?一个小时了 挂墙洗手盆的安装步骤详解 挂墙洗手盆的选购常识 黑河位置 黑河市下辖几区几市几县? 这黑河是哪个省的? 黑河的什么地方 黑河在黑龙江什么位置? 美国家航天局发布“毅力号”传回火星照,我们能从照片中得到什么信息?