【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)


相关推荐

  • Python与数据库之学员管理系统「建议收藏」

    Python与数据库之学员管理系统「建议收藏」学院管理系统:一、系统需求二、准备程序⽂件1.分析2.创建程序⽂件三、书写程序1.main.py2.student.py3.managerSystem.py四.总结一、系统需求使⽤⾯向对象编程思想完成学员管理系统的开发,具体如下:系统要求:学员数据存储在MySQL数据库中系统功能:添加学员、删除学员、修改学员信息、查询学员信息、显示所有学员信息、保存学员信息及退出系统等功能。保存学院信息功能可以实现将学员信息每秒自动保存至数据库中。二、准备程序⽂件1.分析为了⽅便维护代码,⼀般⼀个⻆⾊

  • Linux下重启tomcat

    linux重启tomcat命令1,进入到tomcat的bin目录下使用ls命令,查看自己的目录文件cd/opt/tomcat_test/bin/(cd后面接自己的环境目录)2、启动tomcat运行bin目录下的启动命令脚本shstartup.sh或者./startup.sh这样tomcat就启用了3.查看tomcat进程是否启动使用psaux|greptomca…

  • C语言指针赋值

    C语言指针赋值1、指针的初始化指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空)。此时,*p只是表示定义的是个指针变量,并没有间接取值的意思。例如:inta=25;int*ptr=&a;intb[10];int*point=b;  int*p=&b[0];

  • drupal安装chosen模块

    drupal安装chosen模块drupal安装chosen模块1.chosen模块网址是:https://www.drupal.org/project/chosen要下载对于版本的chosen,还要下载chosen jQueryplugin,网址:http://harvesthq.github.com/chosen/2.将jqueryplugin解压出来,将解压后的文件夹内所有文件放到你安装drupal那个目录的libra…

  • pytest重试_pytest失败重跑

    pytest重试_pytest失败重跑安装:pip3installpytest-rerunfailures重新运行所有失败用例要重新运行所有测试失败的用例,请使用–reruns命令行选项,并指定要运行测试的最大次数:$py

  • rc522优点_51单片机rc522接线图

    rc522优点_51单片机rc522接线图公司需要做刷卡模块,因此选了RC522做demo程序。下面就RC522知识做简要的总结。本人使用stm32的硬件spi接口搭建工程,相关的配置如下:spi配置:引脚配置SDA——-PA4SCLK—-PB13MOSI——-PB15MISO——PB14IRQ—没接RST—-PB0//PB12–NSSPB13–SCKPB14–…

发表回复

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

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