【C语言的日常实践(十四)】constkeyword详细解释

【C语言的日常实践(十四)】constkeyword详细解释

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

const是C语言keyword,它定义一个变量不同意变更。使用const在一定程度上,可以提高节目的安全性和可靠性。其他。解const的作用,在看别人的代码时,对理解对方的程序有一定帮助。


1、const可以理解成是”仅仅读变量“的限定词。从这里可以看出,const修饰的是变量,跟常量是不同的,常量是被编译器放在内存中的仅仅读区域,当然也就不可以去改动它。

而”仅仅读变量“则是在内存中开辟一个地方来存放它的值。仅仅只是这个值由编译器限定不同意被改动。const就是用来限定一个变量不同意被改变的修饰符。由于const声明的变量是仅仅读变量,所以它不能通过赋值、增量或减量运算来改动该变量的值,仅仅可以初始化一个const变量,初始化完毕后,不能再改变它。

const int nochange。nochange = 12;/*这是不同意的*/

const int nochange = 12。/*这是能够的*/


2、在声明指针时使用keywordconst,一定要区分让指针本身成为const与让指针指向的值成为const区分开来。

const float *pf;/*pf指向一个常量浮点数值。pf指向的值必须是不变的。但pf本身的值能够改变*/

float  *const pt;/*pt是一个常量指针,它必须总是指向同一个地址,但所指向的值能够改变*/

const float *const ptr;/*ptr必须总是指向同一个位置。而且它所指位置存储的值也不能改变*/

float const *pfc。等同于const float *pfc;

把const放在类型名的后边和*的前边。意味着指针不能用来改变它所指向的值。

总之。一个位于*左边任何位置的const使得数据成为常量。而一个位于*右边的const使得指针自身成为常量。

常见使用方法是声明作为函数形式參量的指针。


3、对全局数据使用const。

首先遵循外部变量的惯用规则:在一个文件里进行定义声明,在其它文件里进行引用声明(使用externkeyword)。

/*file.c——定义一些全局变量*/

const doubule PI = 3.141;

/*file2.c——使用在其它文件里定义的全局变量*/

extern const double PI;

其次是将常量放在一个include文件里。这时还必须使用静态外部存储类:

/*constant.h——定义一些全局变量*/

static const double PI = 3.141;

/*file1.c——使用在其它文件里定义的全局变量*/

#include “constant.h”

/*file2.c——使用在其它文件里定义的全局变量*/

#include “constant.h”

假设不使用keywordstatic,在文件file1.c和file2.c包括constant.h会造成每个文件都有统一的标识定义声明。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/117671.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • vimrc简易配置

    vimrc简易配置最近在练习写脚本,但格式老搞得我头疼,查了半天发现了vimrc;在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能。环境是centos7.6的系统直接修改即可vim~/.vimrc不过我的位置在另一个地方(估计是系统不一样吧)vim/etc/vimrcsetnu#显示行数syntaxenabl…

  • c语言三目运算符例子_单目运算符与双目运算符

    c语言三目运算符例子_单目运算符与双目运算符1.运算方向从左往右,从右往左结合,只有一个表达式被计算百度百科:三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。对于条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值…

  • python的py文件打包成exe_python生成文件

    python的py文件打包成exe_python生成文件基本命令:cxfreezexxx.py(打包文件)–target-dirf:\dist\(打包后exe路径) 额外命令:–base-name=win32gui  消除启动exe文件出现的dos窗口 –icon=d:\xxxx.ico  添加exe文件的图标,注意,图标必须是ico格式…

  • 学习使用Java Quartz任务调度(一)

    学习使用Java Quartz任务调度(一)//本着以交流经验和学习的态度来分享知识,如果有误,请批评指出,不胜感激!现在企业中基本均有涉及到任务调度和异步执行器,在Java方向,提供了开源的Quartz、JDK提供了Timer。在以上基础前提下,Java5.0通过java.util.concurrent这个新包以及它下边的诸多类和接口,提供了方便的线程池调用。在本篇文章中,我们主要使用Quartz来作为解决任务调度的工具。为什么不…

  • 基于51单片机的毕业设计题目_单片机全自动洗衣机毕业设计

    基于51单片机的毕业设计题目_单片机全自动洗衣机毕业设计仿真链接:基于单片机的智能衣柜设计–仿真设计软件安装:Keil:点击下载 Proteus:点击下载 AD:点击下载 Visio:点击下载 烧录软件:点击下载设计简介:本设计是基于单片机的智能衣柜设计,主要实现以下功能:可实现通过DHT11测量衣柜的温湿度,并可自动进行除湿 可实现通过DS1302获取当前时间,并可通过按键调整 可实现通过按键设置紫外线消毒的开始时间和结束时间 可实现通过按键模拟打开衣柜或关闭衣柜 可实现通过LCD1602显示衣柜内的温湿度、衣柜的开关状态

  • 理解class.forName()

    理解class.forName()

    2021年11月28日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号