【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会造成每个文件都有统一的标识定义声明。

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • navicat生成激活码错误【2021.8最新】

    (navicat生成激活码错误)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlZ9LZO4ZKWA-eyJsaWNlbnNlSW…

    2022年3月22日
    122
  • Android 查看Android版本的方法

    Android 查看Android版本的方法查看Android版本的方法

    2022年8月6日
    11
  • grafana导出报表插件_数据库报表生成工具

    grafana导出报表插件_数据库报表生成工具服务器端性能监控,数据报表一个比较好的开源报表工具,Grafana。Github地址:https://github.com/grafana/grafana官网地址:http://grafana.org/支持:windows、Linux、Mac视觉效果: …

    2022年10月20日
    3
  • JavaSE目录

    JavaSE目录跳转到总目录01、版本一:视频教程笔记这个版本是我跟着视频教程做的笔记教程来源:java基础到高级_零基础自学Java–尚硅谷–宋红康教程视频地址:https://www.bilibili.com/video/BV1ny4y1Y7CW名称笔记地址一:Java语言概述二:变量、标识符、保留字、变量三:运算符四:程序流程控制五:数组六:面向对象(上)七:面向对象(下)八:面向对象(中)九:异常十:多线程

    2022年5月25日
    46
  • Postman教程大全「建议收藏」

    Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件Postman背景介绍用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。Postman的操

    2022年4月6日
    48
  • java后端简历项目经历_简历上的项目经历怎么写 ?这 3 条原则不可忽视 !

    java后端简历项目经历_简历上的项目经历怎么写 ?这 3 条原则不可忽视 !阅读本文大概需要 5 分钟 作者 黄小斜作为一个程序员 想必大家曾经都做过一些项目 可能现在手头上也还有一些项目 不过还是有很多学生朋友来问我 没有项目怎么办 诚然 确实有不少同学没有实习经历 又没有什么像样的项目经历 对于这样的同学 简历上的项目经历难道只能空着了吗 其实不然 就算你是跟着一些课程做项目 你也可以通过丰富项目内容的方法把项目变成自己的 只要你真的去做了 真的理解了代码逻辑 同时

    2025年12月3日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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