首页 > 其他分享 >关于const的使用

关于const的使用

时间:2025-01-07 11:32:46浏览次数:1  
标签:const 变量 指向 int 内存空间 关于 使用 指针

1、修饰整型变量const int a 就是声明了一种常量表示该变量的内容不可改变

2、对于修饰指针的const就有说法了

const int *a 和int* const a这是两种不同的用法

第一种:

const int *a表示定义了一个指向const变量的指针,但是指针本身不是const类型,也就是说指针本身可以修改但是指向指针的内容不可以修改。

例如:定义一个const变量b,在定义一个const 变量a指向b,然定义一个变量d,然后指针a指向d的地址,这是合法的

解析:

被const修饰的变量b表示这个变量的内容不可改变,也就是说这块内存空间是一个只读区域

而后面定义的指针变量a,这只是一个指向变量b地址的指针,这个指针本身是可以修改的

第二种:

定义一个变量b,然后定义一个int *const a的指针变量a,指向这个变量b,此时这个指针变量a本身是不可以改变的,但是他指向的值是可以改变的

如果这里给a重新赋值编译器就会提示错误:表达式左值必须是一个可以修改的值,但是由于是int* const表示这是一个常量指针所以不能直接修改指针的值,但是可以修改指针指向的内存空间的b中的值。

个人理解:感觉所谓指针就是为了访问内存空间而存在的,而const关键字是用来限制内存空间的访问权限

const int *a是限制了指针指向的内存空间访问权限是只读的不可修改,而int* const是限制了指针变量本身的内存空间访问权限是只读的,应该是这样的

 

标签:const,变量,指向,int,内存空间,关于,使用,指针
From: https://www.cnblogs.com/lq-gd/p/18657319

相关文章

  • 使用Docker搭建npm私有仓库
    由于文章格式和图片解析问题,为了更好的阅读体验,读者可前往阅读原文在公司团队内一般都会拥有私有的工具包或者其他依赖,这些东西又是比较敏感的信息,因此如npm私库的搭建在公司内部必不可少。私库搭建方式有很多,本篇通过docker+nexus3的进行搭建。本人使用ARM架构Centos7.9虚......
  • 移远EC800M-CN的python代码使用
    本文档目的介绍EC800M模组使用python脚本控制的过程1.烧写QPython的模组固件,移远已经提供。资源下载|QuecPython,下载相应固件。2.安装模组的USB驱动,然后USB连接电脑,打开Qpycom,选择串口,下载-》选择固件-》下载固件3.下载完成后,模组会重启。4.在Qpycom中,重新选择串口,......
  • [SMARTFORMS] 使用Template和Loop展示数据
    补充资料[SMARTFORMS]使用TABLE表展示数据https://blog.csdn.net/Hudas/article/details/144956772?spm=1001.2014.3001.5501在上述文章中,我们使用了TABLE表展示了采购订单报表的明细数据采购订单报表部分截图接下来我们使用Template和Loop替换TABLE表进行数......
  • [SMARTFORMS] 系统变量的使用
    在PAGE1页面节点下创建WINDOW5窗口填写WINDOW5窗口描述以及位置,大小等相关信息在WINDOW5窗口节点下新建TEMPLATE模板为TEMPLATE模板设置行列相关信息在TEMPLATE模板节点下面新增3个TEXT文本每个TEXT文本的内容如下所示:%TEXT25打印日期文本内容......
  • 使用RapidAPI和Github Actions进行API测试
    RapidAPI操作注册官网:https://rapidapi.com/注册成功后登录新建API新建请求以接口:https://www.thunderclient.com/welcome为例新建测试套件点击RequestGenerator和Addtotest添加断言保存并运行详细报告Github操作访问Github,新建仓库新建工作流文......
  • 使用LangChain集成ChatLlamaAPI进行文本情感分析
    近年来,随着大语言模型(LLM)的兴起,文本情感分析的应用场景越来越丰富。在本篇文章中,我们将探讨如何使用LangChain集成ChatLlamaAPI,一个支持函数调用的托管版本Llama2,来实现文本情感分析。我们将通过具体的代码示例来进行演示,帮助开发者快速上手。技术背景介绍LangChain是用......
  • Qt 状态机使用说明
    一、前言1、状态机,有限状态机,FiniteStateMachine,简写FSM。2、状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定操作的控制中心。3、简单说,状态机就是负责执行各种状态的切换。4、Qt状态机通过Qt......
  • 使用javascript实现一个popup
    在前端开发中,实现一个基本的popup(弹出窗口)可以通过多种方式来完成,包括使用原生JavaScript、HTML和CSS。以下是一个简单的示例,展示了如何使用这些技术来创建一个基本的popup。HTML结构首先,在HTML文件中定义popup的结构。这通常包括一个背景遮罩(overlay)和一个包含内容的......
  • 使用CSS3制作一个圆形徽章
    要使用CSS3创建一个圆形徽章,你可以利用border-radius属性来制作圆形,然后通过添加一些额外的样式来使其看起来像一个徽章。以下是一个简单的示例:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,......
  • 使用css3制作一个“龙”字
    使用CSS3来制作一个“龙”字主要是利用CSS的各种特性来装饰和呈现文字。这通常涉及到字体选择、颜色、阴影、渐变、动画等效果。下面是一个简单的例子,展示如何使用CSS3来装饰一个“龙”字:HTML结构:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......