单片机视角理解指针与数组
从图四可以看到因为我使用的是STM32所以地址总线是32位那么任何类型的指针的大小都是4个字节的。而这些类型的指针保存的都是这些变量的首地址而这些首地址都是32位的也就是4个字节从这个图我们可以知道这个指针pa意思就是p这个地址的值等于a的地址。所以指针变量 p 本身它也是一个变量有自己的内存地址图里 p 0x20000450这个地址里存储的 “内容 / 值”是另一个内存的地址。而p a 的含义就是把变量 a 的地址0x20000454赋值给指针变量 p也就是p 这个变量里存储的值 a 的地址。** *p 0x12345678 **的意思就是先取出指针变量 p 里存的值0x20000454也就是 a 的地址然后把这个数值当成内存地址找到 0x20000454 开头的 4 字节int 类型占 4 字节内存空间把 0x12345678数据写入到这个内存空间里指针操控硬件这两个图解释了指针如何操控硬件先定义一个指针然后将寄存器的地址赋给这个指针指针就能够访问这个地址写入数据来操控这个寄存器对应的硬件比如图一就是将控制 LED 引脚的 GPIO 外设的输出数据寄存器ODR的地址赋给指针然后指针将0这个数据写入到LED灯的地址去然后拉低了控制LED灯的引脚实现了开灯的功能。volatile 的作用就是告诉编译器每次访问这个地址都必须老老实实去读写真实的物理地址禁止做优化、禁止缓存值保证每次读写都真实作用到硬件上。指针类型的选择虽然这些类型的指针本身占的内存大小相同但每种类型的指针一次操作的字节的大小不同char* 1个字节 short * 2个字节 int* 4个字节它们的起始地址大小都相同都是4个字节但** *指针从这个起始地址起能读取/写入的字节大小**不同例如上面这个图如果想用指针来访问一个寄存器的地址同样的40021414地址int*类型指针就能访问这一整个32位寄存器如果用char*类型指针就只能访问低8位即一个字节想访问下个字节就要用40021415数组数组就是一块连续的空间这空间有十个每个都是char大小图片上数组b[10]就是10个char类型的空间。如果数组b[3]没有赋值那么打印字符串的时候它是从前到后打印在第四位的时候遇到0它会以为结束了所以就不会打印出w。这里要注意的是如果给一个数组赋值那么在结尾要加上’/0’因为printf(“%s”, 数组名) 打印字符串时必须遇见 \0ASCII 0字符串终止符才停止输出。找不到\0就会越界继续向后读取内存出现随机乱码。而且注意的是’/0’也占一块空间即在char数组占一个字节大小

相关新闻

C++入门首选:Dev-C++轻量IDE的极简配置与实战指南

C++入门首选:Dev-C++轻量IDE的极简配置与实战指南

1. 项目概述:为什么从Dev-C开始你的C之旅?如果你正准备踏入C编程的世界,面对Visual Studio、VS Code、CLion这些功能强大但略显复杂的“庞然大物”,感到有些无从下手,那么从Dev-C开始,绝对是一个明智且高效…

2026/7/29 7:24:49阅读更多 →
VS2022 MFC项目C2665错误:COleDispatchDriver::CreateDispatch参数转换问题解决方案

VS2022 MFC项目C2665错误:COleDispatchDriver::CreateDispatch参数转换问题解决方案

1. 问题现象与背景解析如果你正在用Visual Studio 2022维护或开发一个MFC项目,特别是涉及到自动化操作(比如操作Excel、Word)或者使用某些ActiveX控件时,突然在编译时遇到了“C2665 ‘COleDispatchDriver::CreateDispatch’: 没有…

2026/7/29 7:24:49阅读更多 →
生物素-辛酰-L-肉碱Biotin-Octanoyl-L-carnitine线粒体脂转运蛋白 Pull-down 筛选工具

生物素-辛酰-L-肉碱Biotin-Octanoyl-L-carnitine线粒体脂转运蛋白 Pull-down 筛选工具

生物素 - 辛酰 - L - 肉碱(Biotin-Octanoyl-L-carnitine)亲和探针依托生物素 - 链霉亲和素超高亲和力体系,结合 Pull-downLC-MS 蛋白质组学,直接捕获辛酰 - L - 肉碱结合蛋白,是线粒体脂转运、代谢疾病、肿瘤能量代谢领…

2026/7/29 7:22:49阅读更多 →
工业物联网安全连接:A5000与MK24FN256VDC12方案解析

工业物联网安全连接:A5000与MK24FN256VDC12方案解析

1. 项目背景与核心需求 在工业物联网和嵌入式系统领域,安全连接云端服务已成为刚需。A5000作为一款工业级无线通信模块,搭配MK24FN256VDC12微控制器(基于ARM Cortex-M4内核),能够为设备提供可靠的云连接能力。这个组合…

2026/7/29 8:39:06阅读更多 →
EMC辐射发射测试:垂直与水平极化测试原理与实战指南

EMC辐射发射测试:垂直与水平极化测试原理与实战指南

1. 项目概述:从一次测试失败说起前几天,实验室的同事小张拿着一个智能家居控制器的辐射发射(RE)测试报告来找我,愁眉苦脸。报告显示,在某个频点,垂直极化的测试结果超标了6个dB,但水…

2026/7/29 8:39:06阅读更多 →
[RPC/序列化/端云通信] Proto 文件的语法解读

[RPC/序列化/端云通信] Proto 文件的语法解读

[RPC/序列化/端云通信] Proto 文件的语法解读 一、为什么需要 Proto 文件?在分布式系统、微服务架构或端云通信中,不同服务或设备之间需要交换数据。但数据格式千差万别——Python 用字典,Java 用对象,C 用结构体。如何让这些语言…

2026/7/29 8:39:06阅读更多 →
从5克微型机器人到480公里时速无人机:机器人技术的两个极端突破

从5克微型机器人到480公里时速无人机:机器人技术的两个极端突破

1. 从“玩具”到“工程奇迹”:微型机器人的技术分野最近,我身边不少朋友和同事都在讨论两个看似风马牛不相及的东西:一个是重量仅有5克、比一枚硬币还轻的超迷你机器人,另一个是时速能飙到480公里、堪比高铁的遥控四旋翼。乍一看&…

2026/7/29 8:39:06阅读更多 →
三极管与MOS管核心区别:电流控制与电压控制的实战选型指南

三极管与MOS管核心区别:电流控制与电压控制的实战选型指南

1. 从一次“炸管”事故说起:为什么必须分清三极管和MOS管? 几年前,我还在做一个小型的电机驱动板。为了控制一个24V直流电机的启停和调速,我随手从物料盒里拿了一个TO-220封装的器件,看丝印像是个大电流的三极管&#…

2026/7/29 8:39:06阅读更多 →
2026江门汇声丰田亚洲龙音响升级施工记录:原车位声场与DSP调音如何配合

2026江门汇声丰田亚洲龙音响升级施工记录:原车位声场与DSP调音如何配合

这次记录的是一台丰田亚洲龙的音响升级施工。配置以前声场、后声场、中音、DSP功放和四门三层3.0隔音为主,思路不是单纯提高音量,而是先把门板基础、各声道分工和车内调音连成一个完整系统。文章按照车辆、配置、安装和调音几个环节展开,便于…

2026/7/29 8:37:06阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/29 7:00:19阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/29 7:58:51阅读更多 →
28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“! 在构建复杂的 Agent 系统时,我们经常会遇到这样的场景:Agent 正在执行一个多步骤的任务,比如“下单购买商品”,但执行到一半时,我们…

2026/7/29 0:01:46阅读更多 →
自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…

2026/7/29 0:01:46阅读更多 →
【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:01:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/29 4:31:51阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →