1. const修饰指针变量是可以修改的如果把变量的地址交给⼀个指针变量通过指针变量的也可以修改这个变量。 但是如果我们希望⼀个变量加上⼀些限制不能被修改怎么做呢这就是const的作⽤。上述代码中n是不能被修改的其实n本质是变量只不过被const修饰后在语法上加了限制只要我 们在代码中对n就⾏修改就不符合语法规则就报错致使没法直接修改n。如果我们直接通过地址来修改n的值呢可以看到通过指针指向的地址进行修改是可以修改成功的虽然这违反了语法但是确实是修改了值用const修饰就是为了防止被修改既然可以修改那我们有什么办法让即使通过地址也不能进行修改呢1.1 const修饰指针变量⼀般来讲const修饰指针变量可以放在*的左边也可以放在*的右边意义是不⼀样的。我们来分析一下后面这两种情况const修饰的是pb指针变量pb指向的b地址不能改变但是无法约束*p指向的b的值。const在*左边修饰*pb*pb指向的b不能改变但是pb指针变量可以改。总结2. 野指针概念野指针就是指针指向的位置不明随机的、不正确的、没有明确限制的。2.1 野指针的成因2.1.1 指针未进行初始化因为未进行初始化导致指针变量默认为随机值。2.1.2 指针越界访问数组只用10个空间指针指向的范围却有11个空间导致生成野指针。2.1.3 指针指向的空间释放这里的n为局部变量局部变量出函数及销毁所以返回的地址是无效的也就是指针指向的空间被释放了。这就是导致野指针的三个原因。2.2 如何规避野指针2.2.1 初始化指针如果明确知道指针指向哪⾥就直接赋值地址如果不知道指针应该指向哪⾥可以给指针赋值NULL. NULL 是C语⾔中定义的⼀个标识符常量值是00也是地址这个地址是⽆法使⽤的读写该地址 会报错。2.2.2 小心指针越界一个程序向内存申请了那些空间通过指针也就只能访问那些空间不能超出范围使用超出就是越界。2.2.3 指针使⽤之前检查有效性当我们通过指针变量访问地址时使用后如果后期我们不在使用这个指针来访问我们可以及时将指针变量置为NULL因为规定只要是NULL指针就不去访问 同时使⽤指针之前可以判断指针是否为NULL。2.2.3 避免放回局部变量地址局部变量的生命周期短出函数就销毁了不要返回局部变量的地址。3. assert断言assert.h 头⽂件定义了宏 assert() ⽤于在运⾏时确保程序符合指定条件如果不符合就报 错终⽌运⾏。这个宏常常被称为“断⾔”。很显然assert并没有报错而是继续运行下去了断言符合这里可能有个疑问为什么if中还要有个return语句这个是终止main函数防止后面的*p100执行空指针是不能读写的。看图可能会有人问其中的debug是什么意思我们在vs编译器中上面就有个debug还有个release这对应两个版本一个是调试版本一个是发布版本一个是给我们程序员开发使用的一个是给顾客使用的。3.1 assert的好处它不仅能⾃动标识⽂件和 出问题的⾏号还有⼀种⽆需更改代码就能开启或关闭 assert() 的机制。如果已经确认程序没有问 题不需要再做断⾔就在 #include 语句的前⾯定义⼀个宏 NDEBUG。宏的概念我们后续再说当代码又出问题之后可以将宏给注释掉在进行编译。4. 数组名的理解我们在之前对数组名有着浅薄的认知现在学习指针了该进行深度的理解了。我们前面说过数组名等于首元素地址现在我们来验证一下我们发现打印的是一样的可见数组名就是数组⾸元素(第⼀个元素)的地址。用刚才的道理来理解接下来的这串代码你就会发现又有些不对。按刚刚学的数组名是首元素的地址应该输出4才对为什么会输出40呢其中就是有两个例外除了这两种特例之外其他的都是数组名就是首元素的地址你运行输出arr和arr之后你会发现他们的输出结果是一样的那他们到底有什么区别呢这里的C指的是12前面进制的时候有讲过我们从arr1和arr1就可以明显看出区别虽然两个值是一样的但是意义有所不同。
企业AI落地,为什么总在最后一步翻车? 说真的, 我目睹过好多企业, 满怀兴致地启动AI项目, 然而最终却失败而归的事例。并非是技术存在问题, 而是根本就没有弄清楚自己究竟想要什么。 先说一个真切发生的事儿, 去年存在一家, 其老板于展会上听闻借助AI能够自动对客户邮件予以回复, 当下果断决定要引入该系统, 情况到底…
2026 年现阶段拱墅正规的长期集装箱厂家联系电话,存十年的货居然用它?成本比租仓库省七成! - 品质体验官 2026 年现阶段拱墅正规的长期集装箱厂家联系电话,存十年的货居然用它?成本比租仓库省七成! 开篇引入公司名称联系人联系电话拱墅法利莱集装箱运营中心林经理152016098882026 年,随着全球经济的持续复苏以及贸易模式…
从星号梯形到循环控制:编程入门项目的深度解析与实践 1. 从“画星星”到理解循环控制:一个被低估的编程入门项目很多编程新手在接触循环结构时,都觉得“画个星号梯形”这种题目太简单、太“小儿科”了,无非就是几个for循环嵌套,打印一堆*和空格。我刚开始学编程时也这么想,…
ESP8266驱动电子墨水屏:从硬件连接到低功耗物联网显示项目实战 1. 从“点不亮”到“玩得转”:我与墨水屏驱动板的那些事儿 几年前,我第一次接触电子墨水屏,那种不刷新不耗电、阳光下清晰如纸的特性让我着迷。但很快,一个现实问题摆在面前:如何驱动它?市面上的开发板五花…
ESP32-P4开发板实战:从硬件解析到AI模型部署与性能优化 1. 项目概述:从芯片到开发板的跨越 最近在捣鼓物联网项目,发现手头的ESP32-S3在算力上有点捉襟见肘,特别是涉及到一些需要本地图像处理或者复杂逻辑判断的场景。于是,我把目光投向了乐鑫新推出的ESP32-P4这颗“大杀器”。但芯片再…
C语言嵌入式条码扫描模块:状态机与环形缓冲区设计实践 1. 项目缘起:为什么我们需要一个C语言条码扫描模块? 最近在做一个嵌入式库存管理终端的项目,硬件平台是基于ARM Cortex-M4的MCU,跑的是FreeRTOS。项目里有个核心需求,就是要能通过串口连接一个一维码扫描头,…
算法常见题型之STL 栈进阶:单调栈 STL 栈进阶:单调栈基本用法与 例题题解 一、单调栈基础 1. 核心定义 单调栈是普通栈的进阶结构,其核心特征是栈内元素始终保持严格的单调性(单调递增或单调递减)。通过在元素入栈时主动弹出破坏单调性的元素,单调栈…
具身机器人行星滚柱丝杠核心尺寸测量与光子精密QM系列闪测仪应用 在具身机器人(以人形机器人为代表)中,行星滚柱丝杠是实现精确位移和力量输出的核心传动部件。一台人形机器人通常需要搭载14套行星滚柱丝杠,主要用于两类场景:一是大腿、小腿、大臂等部位的线性关节,负责…
5分钟搭建原神私服:KCN-GenshinServer图形化一键服务端完整指南 5分钟搭建原神私服:KCN-GenshinServer图形化一键服务端完整指南 【免费下载链接】KCN-GenshinServer 基于GC制作的原神一键GUI多功能服务端。 项目地址: https://gitcode.com/gh_mirrors/kc/KCN-GenshinServer 你是否渴望拥有一个完全由自己掌控的提瓦特大陆…
最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战 1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…
基于Springboot的企业门户网站(源码+LW+调试文档+讲解) 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…
MATLAB xcorr函数详解:从互相关原理到四大实战应用 1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同ÿ…
最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战 1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…
基于Springboot的企业门户网站(源码+LW+调试文档+讲解) 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…
MATLAB xcorr函数详解:从互相关原理到四大实战应用 1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同ÿ…
无损视频剪辑终极指南:如何实现快速高效的多媒体处理 无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…
AI辅助本科论文写作:8大工具评测与高效使用指南 1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…