字符指针

1、字符指针
在指针的类型中我们知道有一种指针类型为字符指针 char*
一般使用方式:

还有使用方式如下:

注意观察区别:%C 与 %S :

 

 这种方式是将字符串的首地址放到指针中,通过指针可以找到该字符串(千万不要理解成将字符串放到指针里面去,这是不可能的)。(类似与数组名就是首元素地址,但是跟数组还是有所区别的,这个字符串是一个常量字符串,无法被改变,如下图:)

 

常量字符串不能改变

如果说我们想修改这个字符串,需要将其放入数组中,然后再去修改:

创建数组需要开辟空间,数组arr1和arr2在内存空间所在位置是不同的,所以arr1 != arr2;

char* p1 = “abcdef”; char* p2 = “abcdef”; "abcdef"是常量字符串,不能被修改,在内存空间所占位置固定,char * p1 = “abcdef”; 是将该常量字符串的首地址放到字符指针p1中,char* p2 = “abcdef”;
是将该常量字符串的首地址放到字符指针p2中。

也就是说p1和p2存放都是常量字符串"abcdef"的首地址,所以p1 ==p2。(注意:同样的常量字符串只会存一份,不会同时存两份,所以不会开辟不同的空间来存储。)

**总结: **

这里arr1和arr2指向的是一个同一个常量字符串。
C /C++会把常量字符串存储到单独的一个内存区域当几个指针。指向同一个字符串的时候,他们实际会指向同一块内存。但是用相同的常量字符串去初始化不同的数组的时候就会开辟出不同的内存块。

所以arr1和arr2不同,p1和p2相同。

转载:https://blog.51cto.com/panyujie/3366280#1_24

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/456647.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

配置华为交换机环路检测案例

知识改变命运,技术就是要分享,有问题随时联系,免费答疑,欢迎联系! ①微思网络,始于2002年!专注IT认证培训22年。 ② 领取学习资料/课程咨询:小美老师(wx)&…

使用采购管理软件构建更高效的采购模式

采购流程是企业整个采购部门的关键要素。无论企业规模大小,构建采购流程的模式都将直接影响企业控制成本、管理风险和保持流程弹性的能力。 下面我们将解释采购模式的类型、优缺点,以及如何确定哪种模式最适合你的采购部门。 集中采购的优缺点 在集中采…

关于腾讯云服务器“地域”选择,地域四点因素请牢记!

腾讯云服务器地域怎么选择?不同地域之间有什么区别?腾讯云哪个地域好?地域选择遵循就近原则,访客距离地域越近网络延迟越低,速度越快。腾讯云百科txybk.com告诉大家关于地域的选择还有很多因素,地域节点选择…

关于nginx做正向代理的那些事

声明:该文章只是用于技术探索的实践与讨论,没有其他用途。 准备: 一台能访问外网的服务器;一个域名,映射到上面的服务器;https的证书及密钥;nginx安装包; 协议使用: 开…

neo4j网页无法打开,启动一会儿后自动关闭,查看neo4j status显示Neo4j is not running.

目录 前情提要User limit of inotify watches reached无法访问此网站 前情提要 公司停电,服务器未能幸免,发现无法访问此网站,http://0.0.0.0:7474 在此之前都还好着 User limit of inotify watches reached (base) [rootlocalhost ~]# n…

ctf_show笔记篇(web入门---sql注入)171-189

sql注入 171:简单的sql注入,尝试万能密码直接过 172:基础联合查询可过 173:过滤flag那就利用substr少取几个flag的名字或者replace 174:两种方法,使用盲注或者利用replace嵌套替换,然后在逆…

新 树莓派4B 温湿度监测 基于debian12的树莓派OS

前言 本文旨在完成通过外接温湿度传感器至树莓派使得树莓派不断记录并存储温湿度数据 这个领域有很多文章,但是部分文章已经缺乏了时效性,在最新系统不适用,本文目前适用 硬件 硬件连接 温湿度传感器常选用DHT11和DHT22,淘宝…

No transform from [base_footprint] to [base_link]

需要查看这两个坐标系之间的转换 果然,demo05_car_base中父坐标系是base_footprint,意思是从base_footprint到base_link的转换,而不是从固定坐标系base_link到base_footprint 修改: 父坐标系修改成base_link即可

1356:计算(calc)

【算法分析】解法1:中缀表达式直接求值 1、设数字栈、运算符栈。设数组表示运算符优先级,其中(优先级最高,)优先级最低。 从左向右扫描表达式字符串: 2、遇到数字时,入数字栈。 3、遇到运算符时,入栈条件为…

20240314一种各向同性负泊松比多孔材料的设计

Design of a porous material with isotropic negative Poisson’s ratio DOI:http://dx.doi.org/10.1016/j.mechmat.2016.02.012 摘要:本文提出了一种具有全方位负泊松比的二维多孔体的设计方法。孔隙的六边形周期性分布使力学性能(泊松比…

计算机msvcr120.dll丢失怎样修复,教你5种方法轻松搞定

我们在玩游戏运行软件的时候,电脑系统提示无法启动此程序,因为计算机中丢失MSVCR120.dll,尝试重新安装该程序以解决此问题。究其原因,是由于在我们的计算机系统中,发现缺失了一个至关重要的动态链接库文件——MSVCR120…

国外visa卡怎么办理,可充ChatGPTPLUS、Claude、Midjourney

很多小伙都在使用ChatGPT,但是想充值ChatGPTPLUS缺需要国外的visa卡,拿自己的银联卡,尝试了好多次还是不行,其实用一张国外的visa卡几分钟就可以升级好 办理国外visa卡,点击获取 国外的visa卡,具体要看你…

rtsp流实现web端实时播放(海康+大华)

最近的电力项目需要嵌入海康摄像头画面,之前没有做过类似的流媒体播放,所以有些懵; 海康开放平台的webAPI,有插件还是无插件,都不适合自研web系统的嵌入,所以需要自己进行解流; 首先&#xff0c…

火山引擎VeDI:A/B实验如何应用在APP推荐系统中?

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 在移动互联网飞速发展的时代,用户规模和网络信息量呈现出爆炸式增长,信息过载加大了用户选择的难度,这样的背景下,推…

在IDE中配置tomcat服务器

目录 一、新建一个java项目二、添加web框架三、配置tomcat服务器四、运行访问发布的项目 前言:在 IntelliJ IDEA 中配置 Tomcat 服务器是 Java Web 开发的基础步骤,以下是如何在 IDEA 中设置 Tomcat 并部署 Web 项目的简要指南。 一、新建一个java项目 新…

Hadoop大数据应用:Linux 部署 MapReduce 与 Yarn

目录 一、实验 1.环境 2.Linux 部署 MapReduce 3.Linux 部署 Yarn 4.Linux 调用大数据集群分析数据 二、问题 1.hadoop 的启动和停止命令 2.HDFS 使用命令 一、实验 1.环境 (1)主机 表1 主机 主机架构软件版本IP备注hadoop NameNode &#xf…

在分布式环境中使用状态机支持数据的一致性

简介 在本文中,我们将介绍如何在分布式系统中使用transaction以及分布式系统中transaction的局限性。然后我们通过一个具体的例子,介绍了一种通过设计状态机来避免使用transaction的方法。 什么是数据库transaction Transaction是关系型数据普遍支持的…

【Ubuntu】gonme桌面的 gdm 和 lightdm 区别

总结:都可以 gdm: 【Gnome Display Manager】 完整,体积大 lightdm: 【Light Display Manager】 轻量

学习Java的第十天

本章来讲一下什么是字符串 一、什么是字符串 在Java中,最常见的基本类型就是字符串了,哪哪都能见到,如输入语句,输出语句等!那么,什么是字符串呢,字符串就是String类,String类是Ja…

【Python】新手入门学习:详细介绍里氏替换原则(LSP)及其作用、代码示例

【Python】新手入门学习:详细介绍里氏替换原则(LSP)及其作用、代码示例 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyT…