C++ 指针常量、常量指针和常指针常量

2023-05-16

1、指针常量

如果在定义指针变量时候,指针变量前用const修饰,被定义的指针变量就变成了一个指针类型的常变量,指针类型的常变量简称为指针常量。

格式如下


数据类型  *   const  指针变量=变量名;

修饰符const与指针变量紧邻,说明指针变量不允许修改,既然指针变量的值不能修改,所以一定要在定义的时候给定初值(指向一个确定存在的地方)


如下

<span style="font-size:18px;">char * const p="ABCDEF";

p=NULL;//错误,指针常量不能再改变
p="1234";//错误
p=(char *)q;//错误</span>

可以这样理解


      

如:修改指向0x123456的内容   *P=‘B’;//正确

2、常量指针

如果在定义指针变量的时候,数据类型前用const修饰,被定义的指针变量就是指向常量的指针变量,指向常量的指针变量称为常量指针,格式如下


const 数据类型  *指针变量=变量名;

或者     数据类型  const  * 指针变量=变量名;


定义一个常量指针后,指针指向的值就不能被改变,即不能通过指针变量直接更改指针指向的值


<span style="font-size:18px;">const char *P="ABCDEF";

*P='1';//错误,视图更改指针指向的值
p[1]='1';//错误
p=NULL;//正确,视图修改指针的位置,而不是修改指针指向的内容</span>



3、常指针常量

   格式为


  const   数据类型 * const 指针变量=变量名;

数据类型 const  *const 指针变量=变量名;


指针不能改变,指针指向的值也不能改变


<span style="font-size:18px;">char *q;
const char * const p="ABCDEF";//定义了一个常量常指针
q=p;//错误,试图讲一个常指针赋值给非常指针
p=q;//错误,试图修改指针常量的值,如1
*p=‘1’;//错误,试图修改指针指向的值,如2
p[1]='1';//错误,如2
p=NULL;//错误,如1</span>


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 指针常量、常量指针和常指针常量 的相关文章

随机推荐

  • Asterisk修改res_pjsip以支持IMS VoLTE tel URI Scheme

    一 概述 nbsp nbsp Asterisk 13 0 0到Asterisk 16 15 0这些官方版本都是不支持IMS VoLTE tel URI scheme RFC3966 假如将Asterisk部署在这几个版本环境中不可避免地会遇
  • OpenCV图像处理——拉普拉斯金字塔

    拉普拉斯金字塔主要用于重建图像 xff0c 拉普拉斯就是为了在放大图像的时候 xff0c 可以预测残差 xff0c 何为残差 xff0c 即小图像放大的时候 xff0c 需要插入一些像素值 xff0c 在上文直接插入的是 0 xff0c 拉
  • OpenCV图像处理——数字图像处理基本操作

    1 读取和显示图像 xff1a 1 1 cv2 imread 函数 xff0c 原型 xff1a cv2 imread filename flags 参数 xff1a filepath xff1a 读入imge的完整路径 flags xff
  • 海思平台水印功能实现之二定时器Timer

    定时器可以自己创建或者直接使用POSIX Timer 我们这边水印每隔1秒刷新时间的时候使用的是POSIX Timer POSIX timer相关的操作 主要包括创建一个timer timer create 设定timer timer se
  • 库实现之分配内存对齐的程序aligned_malloc和aligned_free函数

    分配内存管理对齐的程序 void aligned malloc int size int alignment void ptr 61 void malloc size 43 alignment if ptr void aligned 61
  • 解决error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file

    一 问题 运行hello程序时 xff0c 用到了自己编写的动态库 在目录 usr local lib目录下 xff0c 运行时出现 error while loading shared libraries libhello so 1 ca
  • 解决warning: incompatible implicit declaration of built-in function 'malloc'

    由于代码中使用了malloc函数和字符串函数 xff0c 编译时出现错误 warning incompatible implicit declaration of built in function malloc warning incom
  • 解决虚拟机安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题

    在Intel i5 4460的主机上安装Ubuntu 14 04 xff08 64位 xff09 xff0c 虚拟机使用的是Vmware 10 0 0 build 1295980 在新建好虚拟机 xff0c 运行时候就出现了VMware W
  • 【CentOS7】yum安装时出现错误Errno 14 Couldn't resolve host的解决办法

    在安装python sphinx时出现Errno 14 Couldn 39 t resolve host xff0c 什么东东 xff1f root 64 localhost jansson 1 2 yum install python s
  • SAS (Serial Attached SCSI) 技术详解

    xff08 一 xff09 什么是SAS SAS xff08 Serial Attached SCSI xff09 即串行SCSI技术 xff0c 是一种磁盘连接技术 xff0c 它综合了并行SCSI和串行连接技术 xff08 如FC SS
  • mdadm命令解析

    mdadm命令解析 一 在linux系统中目前以MD Multiple Devices 虚拟块设备的方式实现软件RAID 利用多个底层的块设备虚拟出一个新的虚拟设备 并且利用条带化 stripping 技术将数据块均匀分布到多个磁盘上来提高
  • fio使用指南

    这个文档是对fio 2 0 9 HOWTO文档的翻译 xff0c fio的参数太多了 xff0c 翻译这个文档时并没有测试每一个参数的功能和使用方法 xff0c 只有少量参数做了试验 xff0c 大部分的参数采用的是根据字面翻译或是个人理解
  • CentOS系统安装VNC详细步骤

    下面是总结的详细配置步骤 xff0c 分享给大家 一 VNC 远程控制 CentOS 系统 1 查看 CentOS 系统中是否有安装 vnc xff08 默认安装 xff09 输入命令 xff1a rpm q vnc vnc server
  • 怎么看电脑CPU是几核?

    对硬件的东西知之甚少 xff0c 保存在此 xff0c 以便以后查阅 方法一 鼠标右键桌面最下方的任务栏 任务管理器 性能 查看cpu使用记录 xff0c 有几个窗口就是几核心cpu xff1b 方法二 右键 我的电脑 属性 硬件 设备管理
  • linux批量远程控制

    前提 xff1a 勉ssh秘钥登陆 使用pdssh 1 配置主机列表 web list root 64 192 168 1 2 22 root 64 192 168 1 3 182 22 root 64 192 168 1 4 181 22
  • DataBinding详解

    一 开启DataBinding 在build gradle文件添加 android dataBinding enabled true 二 生成DataBinding布局 1 光标在布局文件的根布局 gt 点击Alt 43 Enter gt
  • python批量删除txt文件中指定行

    应用场景 xff1a 在深度学习项目中 xff0c 常常会处理各种数据集 比如已经标注好的数据标签有三类 xff1a 人形 汽车 猫 xff0c 有一个新项目 xff0c 只需要识别人形 xff0c 那就需要把这个数据集进行处理 xff0c
  • Python.循环

    一 循环结构 xff1a 是程序控制流程的三大结构之一 xff08 三大手段 方法之一 xff09 通过指定的条件将循环体进行有限次或无限次 xff08 死循环 xff09 地重复运行 在Python中主要用到while和for函数实现 二
  • bind详细学习

    DNS DNS xff1a Domain Name Service 应用层协议 xff08 C S 53 udp 53 tcp xff09 域名 分类 xff1a 最多可以有127级域名 根域一级域名 xff1a Top Level Dom
  • C++ 指针常量、常量指针和常指针常量

    1 指针常量 如果在定义指针变量时候 xff0c 指针变量前用const修饰 xff0c 被定义的指针变量就变成了一个指针类型的常变量 xff0c 指针类型的常变量简称为指针常量 格式如下 数据类型 const 指针变量 61 变量名 xf