char**指针与const

news/2025/2/19 13:11:38/文章来源:https://www.cnblogs.com/sailJs/p/18715733

1,char**

char c = '0';char* p1 = &c; //p1是一个指针变量, 存放的是char类型变量的地址
*p1 = '1';
const char* p2 = &c; //p1是一个指针变量, 存放的是char类型变量的地址, const修饰*, 表示指针内容(*p2)不可变char** p3; //p3是一个指针变量, 存放的是char*类型变量的地址
p3 = &p1;
//p3 = &p2; //编译错误, p2是const char*类型的变量, 不能存它的地址

 

2,const char**

也可以写成char const**,修饰变量类型后的第1个标识符(即:第1个*)

char c = '0';char* p1 = &c; //p1是一个指针变量, 存放的是char类型变量的地址
printf("c_addr:%x, p1:%x\n", &c, p1);
*p1 = '1';
const char* p2 = &c; //p1是一个指针变量, 存放的是char类型变量的地址, const修饰*, 表示指针内容(*p2)不可变const char** p3; //p3是一个指针变量, 存放的是const char*类型变量的地址
//p3 = &p1; //编译错误: p1是char*类型的变量, 不能存它的地址
p3 = &p2;
*p3 = 0; //修改p2的变量值
printf("p2:%x, p3:%x\n", p2, p3);

 

3,char*const*

char c = '0';char* p1 = &c; //p1是一个指针变量, 存放的是char类型变量的地址
*p1 = '1';
const char* p2 = &c; //p1是一个指针变量, 存放的是char类型变量的地址, const修饰*, 表示指针内容(*p2)不可变char*const* p3; //p3是一个指针变量, 存放的是char*类型的变量, const修饰第2个*, 表示指针内容(*p3)不可变
p3 = &p1; 
//p3 = &p2; //编译错误, p2是const char*类型的变量, 不能存它的地址
//*p3 = 0; //编译错误, 指针内容不可变

 

4,const char*const*

也可以写成char const*const*

char c = '0';char* p1 = &c; //p1是一个指针变量, 存放的是char类型变量的地址
*p1 = '1';
const char* p2 = p1; //p1是一个指针变量, 存放的是char类型变量的地址, const修饰*, 表示指针内容(*p2)不可变const char*const* p3; //p3是一个指针变量, 存放的是const char*类型变量的地址, const修饰第2个*, 表示指针内容(*p3)不可变
p3 = &p1; //p1是char*类型的变量, 没编译错误??? 第2个那边就不行
p3 = &p2;
//*p3 = 0; //编译错误, 指针的内容不可变

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

升鲜宝供应链管理系统重构版发布(技术点:Java8、mysql8.0 uniapp、vue、android、web 框架: Vue3+Spring Boot3) ,界面功能t升级(四 )

升鲜宝供应链管理系统重构版发布(技术点:Java8、mysql8.0 uniapp、vue、android、web 框架: Vue3+Spring Boot3) ,界面功能t升级(四 ) 工作台 系统 商品 客户 门店 订单

(自适应手机端)英文外贸网站模板 日用百货网站源码下载

(自适应手机端)英文外贸网站模板 日用百货网站源码下载 PbootCMS内核开发的网站模板,该模板适用于外贸网站模板、日用百货网站源码等企业,当然其他行业也可以做,只需要把文字图片换成其他行业的即可; 自适应移动端,同一个后台,数据即时同步,简单适用!附带测试数据!友好…

Markdown 语法学习

Markdown 语法学习 标题: # + 三级标题 四级标题 字体 hello,world! hello,world! hello,world! hello,world! 引用选择狂神说Java>这是引用分割线图片超链接 博客园 - 开发者的网上家园) 列表A B CA B C表格名字 性别 生日张三 男 1997.1.1李斯 女 1995.7.6代码hello

一级倒立摆平衡控制系统MATLAB仿真,可显示倒立摆平衡动画,对比极点配置,线性二次型,PID,PI及PD五种算法

1.算法仿真效果 本课题是针对博主原来写的文章《基于MATLAB的一级倒立摆控制仿真,带GUI界面操作显示倒立摆动画,控制器控制输出》的升级。升级内容包括如下几个方面:增加了PI控制器,PD控制器,同时对极点配置,线性二次型,PID,PI及PD五种算法的控制输出曲线进行对比。matlab2…

使用Spring Initializr方式构建Spring Boot项目

按教材 下例选用IntelliJ IDEA 2024.3.3付费版 创建项目JDK版本根据实际情况。启动类简析 package com.example.demo; // 这段代码位于 com.example.demo 这个包下import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBo…

未注册类。WSL 安装似乎已损坏。WslRegisterDistribution failed with error: 0x8007019e/

前言 不知何时,我的wsl环境又坏了。 其实wsl我不怎么用,但是今天突然想用一下docker,但是没有启动成功。 于是乎我试了一下wsl,发现是wsl完全坏了。 之前卸载过wsl的某个子系统,比如ubuntu22,当初想着换24,之后很长一段时间没用过wsl。 尽管我怀疑是这个操作造成的问题,…

清华大学最新力作,DeepSeek 从入门到精通PDF

前几天,我发布了一篇关于 WPS 集成 DeepSeek 的教程,没想到大家的反响非常热烈!很多朋友都表示,通过这篇教程学到了不少关于 DeepSeek 的实用技巧,赶紧点进来看。不过,今天我给大家带来了更猛的干货——清华大学最新发布的 DeepSeek 资料!而且这次的资料更加关注 DeepSe…

安装程序无法自动安装virtual machine

安装VMware Tools 失败 发现在给过旧的系统安装 安装VMware Tools 的时候,会失败,比如 win7、win server2008等。原因 官网的说明,在这里 看不懂的自行翻译: 微软已将 Windows 驱动程序签名更改为自 2019 年 12 月 3 日起仅使用 SHA-2 算法,不支持 SHA-2 代码签名的旧版 W…

尝试在 Kubernetes 集群上用阿里云 GPU 实例部署 Ollama + DeekSeek-R1

在前一篇博文中尝试了使用阿里云 GPU 实例 ECS 单机部署了 DeekSeek-R1 7b 模型 。这篇博文记录一下在 k8s 集群上用阿里云 GPU 实例部署 DeekSeek R1 大模型的尝试过程,部署的也是 deepseek-r1:7b 模型。 先准备一台阿里云 GPU 实例,选用了共享型 GPU 实例 sgn7i,8核31G,4…

基于SOA海鸥优化算法的三维曲面最高点搜索matlab仿真

1.程序功能描述 基于SOA海鸥优化算法的三维曲面最高点搜索matlab仿真,输出收敛曲线以及三维曲面最高点搜索结果。 2.测试软件版本以及运行结果展示MATLAB2022A版本运行 3.核心程序for ij = 1:Mgen% 初始化本代最佳适应度及对应解yfit = 0.0;xbest = zeros(1,2); % 初…

Tomasulo 调度算法实现架构分析

虽然早在 1967 年就已经提出了 Tomasulo 调度算法 [1],但网上仍很少找到关于落到模块粒度的教程文档。从零复现一遍成本太大,因此用画原理图的方式做思想实验,尝试理解 Tomasulo 在电路上如何实现。 处理数据 首先明细几个概念指令(Instruction):包含指令类型(ADD、MUL、…

最新VMware Workstation虚拟机下载并安装

[2025年]最新VMware Workstation虚拟机下载并安装 1.最新VMware Workstation下载地址 2024年5月5日之后,VMware workstation不能直接在vmware官网进行下载了,需要在broadcom博通网站上进行下载 博通收购Vmware后(将workstation免费了),如下 旧的地址点击下载的时候会跳转到…