const修饰指针

1. 修饰指针所指向的内容

const修饰指针所指向的内容时,你不能通过这个指针去修改它所指向的数据。但是,你可以改变指针本身的值,让它指向另一个地址。

#include <stdio.h>  int main() {  const int a = 10; // a是一个常量,其值不可变  int b = 20;  const int* ptr = &a; // ptr是一个指向const int的指针,指向a  // 以下尝试修改ptr所指向的内容是非法的  // *ptr = 20; // 错误:赋值给只读位置  // 但是可以改变ptr的值,让它指向另一个int变量  ptr = &b; // 正确:ptr现在指向b  // 因为ptr现在是指向b的,而b不是const,所以可以通过ptr修改b的值  *ptr = 30; // 正确:b的值现在变成了30  printf("b = %d\n", b); // 输出:b = 30  return 0;  
}

2. 修饰指针本身

const修饰指针本身时,你不能改变指针的值(即它所指向的地址),但是你可以通过这个指针去修改它所指向的数据(如果这些数据不是const的)。

#include <stdio.h>  int main() {  int a = 10;  int b = 20;  int* const ptr = &a; // ptr是一个const指针,指向int,指向a  // 以下尝试修改ptr的值是非法的  // ptr = &b; // 错误:赋值给只读变量  // 但是可以通过ptr修改它所指向的内容  *ptr = 30; // 正确:a的值现在变成了30  printf("a = %d\n", a); // 输出:a = 30  return 0;  
}

3. 同时修饰指针和指针所指向的内容

#include <stdio.h>  int main() {  const int a = 10;  int* const ptr = (int* const)&a; // *ptr = 20; // 错误:如果ptr正确声明为const int* const,这一行将是非法的  // ptr = &another_int; // 错误:ptr的值也不能被修改  // 注意:上面的ptr声明实际上是不安全的,因为它试图让一个指向const int的指针变成可变的  // 正确的做法是  const int* const safe_ptr = &a; // safe_ptr既不能改变,也不能通过它修改a的值  return 0;  
}

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

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

相关文章

弧形导轨如何避免生锈?

弧形导轨是机械设备中重要的组成部分&#xff0c;负责支撑和引导运动部件。由于长时间的使用和外部环境的影响&#xff0c;导轨容易出现锈蚀现象&#xff0c;从而影响机械设备的正常运行。因此&#xff0c;导轨的防锈处理是非常重要的&#xff0c;以下是一些有效的防锈方法&…

游泳溺水识别数据集,对25729张图片进行YOLO,COCO JSON, VOC XML 格式的标注,溺水平均识别率在89.9%

游泳溺水识别数据集&#xff0c;对25729张图片进行YOLO&#xff0c;COCO JSON, VOC XML 格式的标注&#xff0c;溺水识别率在92&#xff05; 训练结果 数据集和标签 验证 游泳测试视频 根据测试的视频来获取检测结果&#xff1a; 游泳测试视频的置信度设置60% 检测结果如下&…

一个hive插入数据失败的问题

背景 在生产业务中一个简单的sql(hive on tez)如下: insert overwrite table AAA partition(groupcode) select * from BBB; 突然报错如下: Caused by: org.apache.hadoop.hive.ql.metadata.Hive :xception: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.…

探索Wiki:开源知识管理平台及其私有化部署

在如今的信息时代&#xff0c;企业和团队的知识管理变得愈发重要。如何有效地存储、整理、共享和协作&#xff0c;是提高团队效率和创新能力的关键因素之一。今天&#xff0c;我要为大家介绍一款非常有用的github上开源知识管理工具——Wiki&#xff0c;并分享它的私有化部署方…

Unity UGUI使用技巧与经验总结(不定期更新)

Text自动缩放参考连接&#xff1a; Unity -UGUI中Text文本框的自动调整&#xff0c;字体大小的自适应调节_unity添加的字体大小锁定-CSDN博客 Toggle按钮选择时&#xff0c;显示对应的UI界面&#xff1a; 为Toggle组件的On Value Change事件添加对需要显示的对象的SetActive…

吐卡机开发——指令合集—未来之窗行业应用跨平台架构

序号指令10A 09 02 01 01 0D DE20A 09 02 02 01 FD DE30A 09 02 03 01 6D DF40A 09 02 04 01 5D DD50A 09 02 05 01 CD DC60A 09 02 06 01 3D DC70A 09 02 07 01 AD DD80A 09 02 08 01 5D D890A 09 02 09 01 CD D9100A 09 02 10 01 5D D2110A 09 02 11 01 CD D3120A 09 02 12 0…

简单使用linux

1.1 Linux的组成 Linux 内核&#xff1a;内核是系统的核心&#xff0c;是运行程序和管理 像磁盘和打印机等硬件设备的核心程序。 文件系统 : 文件存放在磁盘等存储设备上的组织方法。 Linux 能支持多种目前浒的文件系统&#xff0c;如 ext4 、 FAT 、 VFAT 、 ISO9660 、 NF…

38 Opencv HOG特征检测

文章目录 HOGDescriptor 构造函数setSVMDetector 设置支持向量机&#xff08;SVM&#xff09;检测器&#xff0c;用于目标检测。compute 用于计算图像区域的HOG描述符。detectMultiScale 多尺度检测目标。示例 HOGDescriptor 构造函数 HOGDescriptor(); HOGDescriptor(const S…

SweetAlert2 - 漂亮可定制的 JavaScript 弹窗

https://sweetalert2.github.io/ https://github.com/sweetalert2/sweetalert2 安装&#xff1a; npm install sweetalert2封装&#xff1a; import Swal from sweetalert2/dist/sweetalert2.js import sweetalert2/src/sweetalert2.scss/*** * param {string} icon - ico…

ros2 py文件间函数调用

文章目录 写在前面的话生成python工程包命令运行python函数命令python工程包的目录结构目录结构&#xff08;细节&#xff09; 报错 1&#xff08; no module name ***&#xff09;错误示意 截图终端输出解决方法 报错 2&#xff08; AttributeError: *** object has no attrib…

CentOS7安装配置JDK保姆级教程(图文详解)

1. 安装OpenJDK 直接使用yum命令安装&#xff0c;这里安装的版本是openjdk 11 &#xff08;具体版本根据自己操作系统选择&#xff09; # 查找安装包 yum search java-11# 安装jdk, 同时安装了依赖 java-11-openjdk-headless yum install java-11-openjdk.x86_64# 安装开发工…

默认ip无法访问,利用dhcp功能获取ip进行访问的方法

应用场景&#xff1a; ac的默认ip如192.168.1.1在pc与ac的eth2以后网口直连无法ping通&#xff0c;而且pc改为dhcp自动获取ip也获取不到ip地址&#xff0c;无法进行web配置和命令行操作。 原因是ac或其他设备被修改了默认ip或者端口vlanid&#xff0c;现在的端口vlan对应子接…

库伦值自动化功耗测试工具

1. 功能介绍 PlatformPower工具可以自动化测试不同场景的功耗电流&#xff0c;并可导出为excel文件便于测试结果分析查看。测试同时便于后续根据需求拓展其他自动化测试用例。 主要原理&#xff1a;基于文件节点 coulomb_count 实现&#xff0c;计算公式&#xff1a;电流&…

QQ长截屏

QQ长截屏 第一步&#xff1a;CtrlAltA 第二步&#xff1a;点击剪刀之后&#xff0c;再滑动滚轮就可以了。 展示

高效管理 Nginx 的利器:nginxWebUI 指南和 Docker 部署安装过程

前言 Nginx WebUI 是一个为 Nginx 提供图形化管理界面的工具。通过 WebUI&#xff0c;用户可以轻松管理 Nginx 配置&#xff0c;而无需直接编辑配置文件&#xff0c;尤其适合新手用户和频繁修改配置的场景。 官网文档&#xff1a;nginxWebUI - 文档 本文将分享为什么选择 ngin…

MySQL 05 章——排序与分页

一、排序 &#xff08;1&#xff09;排序规则 使用ORDER BY子句排序 ASC&#xff08;ascend&#xff09;&#xff1a;升序&#xff08;从上至逐渐升高&#xff09;DESC&#xff08;descend&#xff09;&#xff1a;降序&#xff08;从上至下逐渐降低&#xff09;​​​​​​…

【C语言】_指针运算

目录 1. 指针-整数 2. 指针-指针 2.1 指针-指针含义 2.2 指针-指针运算应用&#xff1a;实现my_strlen函数 3. 指针的关系运算&#xff08;大小比较&#xff09; 1. 指针-整数 联系关于指针变量类型关于指针类型和指针-整数相关知识&#xff1a; 原文链接如下&#xff1…

Wend看源码-Java-Executor异步执行器学习

摘要 本文主要介绍了Java.util.concurrent包所提供的 Executor 异步执行器框架&#xff0c;涵盖了相关的接口和类。 并发执行器类图 图1 java 并发执行器相关类图 Executor 接口 Executor 接口提供了一种将任务的提交与任务的实际执行机制分离开来的方法。它只有一个方法 exe…

2025考研江南大学复试科目控制综合(初试807自动控制原理)

​ 2025年全国硕士研究生招生考试江南大学考点 一年年的考研如期而至&#xff0c;我也变成了研二了&#xff0c;作为2次考研经历的学长&#xff0c;总是情不自禁地回想起自己的考研经历&#xff0c;我也会经常从那段经历中汲取力量。我能理解大多数考生考完后的的迷茫无助&…

基于深度学习算法的AI图像视觉检测

基于人工智能和深度学习方法的现代计算机视觉技术在过去10年里取得了显著进展。如今&#xff0c;它被广泛用于图像分类、人脸识别、图像中物体的识别等。那么什么是深度学习&#xff1f;深度学习是如何应用在视觉检测上的呢&#xff1f; 什么是深度学习&#xff1f; 深度学习是…