const char * 、char const *、 char * const 三者的区别以及const char * const * p的感悟

小龙虾 OpenClaw 安装全攻略:本地部署 AI 智能体一步到位 OpenClaw(昵称小龙虾)是一款 MIT 开源协议的本地优先 AI 智能体执行网关,支持多平台接入、本地部署,能实现自然语言驱动的设备自动化操作,区别于纯对话 AI,可直接操控系统执行实际任务,数据全程本地存储更安全。本文带来 2026 最新版 OpenClaw 安装教程,适配 Windows/macOS/Linux 全系统,新手也能一键搞定。 阅读详情

一、const char * 、char const *、 char * const 三者的区别:

(1)const char* 和 char const * 等价,都是常量指针,也就是不可通过指针改变所指对象的值,但是对象可以不是常量,也就是说对象本身可以改变自身的值。

例1://不可通过指针改变所指对象的值

char a[2]  = { 'a', 'b'};

const char *p1 =  a;     //①

char const *p2 = a;     //②

(*p1)++;  //错

(*p2)++;  //错

a[0] = 'c';  //对

//其中①②等价

(2)char * const:代表指针常量,即指针不可改变所指对象,但是对象的值可以通过指针改变。

(3)总结:

①const *p:const 在 * 左边时, const 修饰了 *p ,*p是指针所指对象的值,综合下来就是指针不可改变所指对象的值,不可如(*p)++。

②* const p:const 在 * 右边时, const 修饰了 p,p是指针,综合下来就是指针所指对象不可变,不可如*p++。

注:(*p++) == *(p++)

例2://*p++和(*p)++两者区别

char a[2] = {'a', 'b'};

char *p;

p=&a[0];

 *p++; //此时 p 指向 a[1]

(*p)++; //若无视上一条语句 *p++; 产生的影响,此时 p 指向 a[0] , a[0] 的值为 'a'+1

二、const char * const * p

(1)为了方便区分两个const,下面我进行颜色的标记

例3:const char * const * p //题目练习

根据上面的总结(3)可以得知,const 修饰了 **p,const修饰了*p,也就是不能如(**p)++,(*p)++。但是可以p++,*p++,**p++。

 

一有感于博客https://blog.youkuaiyun.com/qq_40244176/article/details/80765975

二有感于牛客网关于 const char * const * p 的C++面试题

 

 

基于YOLOv11的无人机目标检测系统:实现drone、bird、aircraft多类别识别 采用改进的YOLOv11网络结构,平衡检测精度和速度融合VisDrone和UAVDT数据集,增强模型泛化能力设计多尺度特征融合模块,提升小目标检测性能开发直观的UI界面,便于实际部署和应用。 阅读详情

相关推荐

告别手动操作!用Python脚本批量处理Siemens NX零件文件(导入/导出/移除参数)

本文详细介绍了如何利用Python脚本实现Siemens NX零件文件的批量处理,包括导入、导出和移除参数等操作。通过NX Open API和Python UF接口,工业设计师可以大幅提升工作效率,告别繁琐的手动操作。文章提供了完整的实战指南,涵盖环境配置、核心功能实现以及性能优化技巧,特别适合需要进行Siemens-NXUG二次开发的工程师参考。

weixin_28222493的博客 260

欢聚时代校招C卷解析:指针、内存与字符串处理的硬核考点

C语言作为系统级编程的基石,其核心能力往往体现在对指针、内存管理和字符串处理等底层机制的掌握程度上。理解指针与数组的隐式转换、内存对齐规则以及动态内存分配的生命周期,是写出健壮代码的前提。在工程实践中,这些概念直接关系到缓冲区溢出、野指针和内存泄漏等高风险问题的防范,也是后端开发、嵌入式系统及高性能服务端岗位的基本功。无论是应对校招笔试,还是日常排查线上故障,扎实的C语言基础都能让开发者快速定位问题本质。从经典的手写字符串拷贝到链表反转,从结构体大小计算到宏定义的陷阱,这些考点共同构成了一套完整的工程能力检

weixin_34087307的博客 495

红日-VulnStack靶场-ATT&CK(二):从Weblogic漏洞到域控渗透实战

本文详细解析了红日安全团队VulnStack靶场中从Weblogic漏洞到域控渗透的完整攻击链。通过实战演示Weblogic反序列化漏洞利用、Cobalt Strike持久化控制、域内信息收集及PsExec横向移动等关键技术,复现了企业内网渗透的典型场景,并提供了防御建议。

tgb3456789的博客 936

char * 和const char *的区别

一、含义的不同 char* 表示一个指针变量,并且这个变量是可以被改变的。 const char*表示一个限定不会被改变的指针变量。 二、模式的不同 char*是常量指针,地址不可以改变,但是指针的值可变。 const char*是指向常量的常量指针,地址与值均不可变。 三、指针指向的内容的不同 char*指针指向的内容是可以改变的,是不固定的。赋值后在数据传递的过程中允许改变。 const char*指针指向的内容是固定的,不可改变的。对传入的参数,不会对指针指向的内容进行修改 四、意义

m0_52399461的博客 2万+

从零开始玩转Franka Panda机器人

本文总结了笔者在学习使用Franka Panda机器人时的一些方法和经验总结。

止于至玄 1万+

昇腾CANN实战:如何用DVPP+AIPP实现32路视频流毫秒级预处理(附性能对比)

本文深入探讨了昇腾CANN架构中DVPP和AIPP模块在32路视频流毫秒级预处理中的硬件加速技术。通过异构计算架构的优化,实现了从传统CPU方案的40.7毫秒到CANN方案3.4毫秒的显著性能提升,特别适用于智能安防领域的实时视频分析需求。文章详细解析了DVPP多通道并行设计和AIPP模型级预处理融合的技术细节,并提供了性能对比数据与实战调优经验。

alice7model的博客 919

const char ** 含义及用法

在C或C++中,const char是一个指向指针的指针,它指向的指向一个const char 类型的数据,也就是一个字符串常量。

CSUC的博客 4579

沐数科技数据开发岗笔试题2025

与数据库中的主键(Primary Key)​有所不同,业务主键(Business Key)​是业务层面的唯一标识,通常由业务规则决定,例如,订单号、订单明细号,身份证号等。用户授信表(table_credit):包含用户ID(uid)、授信申请时间(credit_submit_time_local)、授信状态(credit_status)。:在正态分布中,大约68%的数据值落在距离均值一个标准差的范围内,约95%的数据值落在两个标准差的范围内,而约99.7%的数据值落在三个标准差的范围内。

weixin_40121264的博客 3525

指针字符串 与 const char * 即const * char 的详细使用讲解

指针字符串的使用问题 一、直接定义字符串指针的使用注意事项 定义字符串指针的时候 const char *, 和字符串本身相同,就不会出现警告 const char * == char const *, 作用:const char * p ,表示的是指针p指向的数值不能修改, 但是可以通过本身自己去修。 不能通过指针修改指针对应的数值,但是其对应的数值,可以通过本身修改 二、会出现警告的版本,能正常输出,但是不能修改 int main() { char *str = "hellow"

在路上的博客 1万+

手把手教你学PCIE(9.3)--pcie常见故障及原因:配置错误介绍

PCIe 设备的配置错误可能涉及操作系统设置、BIOS 设置、驱动程序设置和配置文件设置等多个方面。通过以上方法,可以有效地诊断和解决 PCIe 设备的配置错误。

MHD0815的博客 2437

华为ensp、思科eve、华为ensp pro中通过cloud桥接本地网络和联通互联网的方法

华为ensp、思科eve中通过cloud桥接本地网络和联通互联网的方法

suofen9703的博客 415

C++ string、const char*、 char* 、char[ ]相互转换(全)

string、const char*、 char* 、char[]四者类型经常会需要转化。 一:转化总结形式如下: 使用时,要对源格式和目标格式进行初始化。源格式赋值为具体的内容,目标格式赋值为空。 \ 目标格式 源格式 string const char* char* char[ ] string NULL cons...

love、reading的博客 6636

上万条对话白分析了?智能客服质检避坑指南:90%团队倒在这些误区

当前客服质检普遍存在投入产出失衡的现象,根源在于十大误区:过度关注单点技术指标而忽视端到端解决能力、僵化的话术模板限制AI应变、数据孤岛阻碍知识进化、盲目追求拟人化牺牲效率、传统整改机制跟不上机器速度等。破局需重构质检体系,包括建立决策树质检法、设计复杂问题测试集、构建实时数据闭环、重置AI专属评价指标、实施分钟级热修复机制等。关键在于将质检从被动纠错升级为主动赋能,通过根因分析、场景化反馈、标准化评分和数据驱动优化,打造"问题诊断-改进-验证"

2202_75469062的博客 1541

C语言---char *与const char *

一、const char和char const char*的类型是:“指向一个具有const限定符的char类型的指针”。(不能修改其值) char*的类型是:“指向一个char类型的指针”。 因此const char和char都是指向char类型的指针,只不过const char*指向的char类型是const的。 因此对于代码: char* src; const char* dest ; dest = src; 这样赋值是正确的,因为: 操作数指向的都是char类型,因此是相容的 左操作数具有有

陈言陈语的小陈 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

const char* 、char、char*、std::string

const char*` 是一个指向字符常量的指针。它通常被用来表示以零结尾的字符数组(C 字符串)。这个指针指向了字符串在内存中的首地址,可以通过对指针进行解引用操作来获取具体的字符内容。注意,由于 `const char*` 指向的是字符常量,所以不能通过指针修改字符串内容。

xinxin的博客 1833

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

关于const char*和char*、const char** 和char** 赋值问题

根据ANSI C标准的赋值约束条件:     1. 两个操作数都是指向有限定符或无限定符的相容类型的指针。     2. 左边指针所指向的类型必须具有右边指针所指向类型的全部限定符。 一、const char*和char*     const char*的类型是:“指向一个具有const限定符的char类型的指针”。(不能修改其值)     char*的类型是:“指向一个char类型的指

baizhengbiao的专栏 2万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

深入理解const char

深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p 深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**con

anhuidelinger的专栏 1310

关键字const——const char*和char* const

文章目录概述const char* 和char* constdefine 和 const 概述 关键字const一般用来修饰定义常量。使用const修饰的变量就不能被更改了。这是因为在编译时,编译器不会为被const修饰了的变量分配储存空间。而是直接保存在符号表中。这样在使用const修饰的变量时,也没有了保存和访问内存的操作。效率也会更高一点点。 这就是const关键字的大体上的作用。 一般来说我们定义的变量用const修饰是没有区别的,例如 int const a=2; const int b=2;

sy1227081317的博客 2441

char *const 和 const char *(char const*)

零、看谁在const后面,谁在const后面,就代表谁被const修饰,谁就被限定死,不可改。 eg.const char *p -> *p 被修饰,*p(值)不可改; char * const p -> p 被修饰, p(指针)不可改; 一、const char *p (限定*p,放开p;*p值不可改,指针p可修改) 对于 const char *s 来说,const char*是指向常量的指针,而不是指针本身为常量,可以不被初...

千墨 的优快云《断剑情雪》《月颜牌》,本人文章全部免费,仅供学习。 6992

c/c++中const char*, char const*, char*const 的区别

Bjarne在他的The C++ Programming Language里面给出过一个助记的方法:把一个声明从右向左读。 char * const cp; ( * 读成 pointer to ) cp is a const pointer to char const char * p; p is a pointer to const char; char const * p; ...

qq_34729246的博客 5336

const char* 和 char* 、字符串常量

注:凡是说道字符串,基本就是字符串常量。 看到这么一句话:提到const char*,就认为这个指针指向的是字符串。 根据之前对常量指针和指针常量的理解,const char* p,表示一个常量指针,也就是指针指向的是常量,不能通过指针对数值进行修改。也就是*p=XXX,是错误的用法。 为什么const char*就是针对字符串是用的呢,因为这是一个常量指针,字符串是常量,而且是存储在系统负责管理的常量存储区中的,编译器无权对其进行修改。而且又是char类型的指针,还是一个常量指针,自然就能够与字符串

qq_39224221的博客 6442

const char * 、char const *、 char * const 三者的区别

C/C++ 中关于以下三种定义:const char *ptr;char const *ptr;char * const ptr;现整理三者之间的区别与联系。一、const char *ptr;定义一个指向字符常量的指针,这里,ptr是一个指向 char* 类型的常量,所以不能用ptr来修改所指向的内容,换句话说,*ptr的值为const,不能修改。但是ptr的声明并不意味着它指向的值实际上就是一...

一个人的旅行的博客 8036

const char *、char const *、char* const、const char *const、char const *const之间的区别

前言 char = greeting[] = "Hello"; char *p = greeting; //non-const pointer,non-const data const char *p = greeting; //non-...

鬼刀 3006

[转载]Const用法小结

关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,参考了康建东兄的const使用详解一文,对其中进行了一些补充,写下了本文。1.     const常量,如const int max = 100; 优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的

csdboy的专栏 1169

C++中const char*、char const*和char * const的区别详解

在C++中,我们经常会遇到const char*、char const*和char * const这三种指针类型的定义,但是它们之间的区别很容易混淆。本文将详细解释这三种指针类型的区别,并通过示例代码进行说明。

m0_73623852的博客 7973

const char*和char *const

1.const char* const在指针前:修饰常量-- - 指向常量的指针 指针指向可以改,指针指向的值不可以改 char ch[5] = "list"; const char* pStr = ch; //pStr = 'w'; error pStr = "hi"; 提示:虽然不能用pStr去修改它所指向的数组元素的值,但我们可以通过数组变量ch来修改元素的值。 应用场景:在定义函数时,利用指针类型来传参数,通常将形参声明为const char*类型,这样就不能利用形参来修

QQ845264718 2009
上一篇: Windows环境下在Codeblocks搭配WinPcap
下一篇: Kibana "Unable to fetch mapping. Do you have indices matching the pattern?"问题解决
GGHS_up
博客等级 码龄10年 2粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值