指针讲解(再提一壶)

别再为采样窗口发愁了!手把手教你用STM32实现三电阻分扇区电流采样(附代码避坑) 本文详细介绍了STM32平台下三电阻分扇区电流采样的实现方法,重点解决采样窗口选择不当和扇区切换逻辑问题。通过PWM定时器与ADC协同工作的底层机制分析,提供可移植的代码示例和实战经验,帮助工程师在电机矢量控制(FOC)系统中实现高精度相电流采样。 阅读详情

书接上文:上文链接指针讲解(醍醐灌顶)-优快云博客上文是这个文章的基础,最好理解了再看这个,当然如果的大佬的话,你爱咋地咋地

我们建一个数组比如arr【10】,而这个数组的数组名就是首元素的地址

这个数组名是不是一直都是首元素地址呢,既然我都问了那就肯定不是了啊。就是二个例外

sizeof(数组名)在这种情况下,数组名表示整个数组,计算的是整个数组的大小。,单位是字节

还有一个就是&arr,这里表示的是整个数组的地址(整个数组的地址和数组首元素的地址是有区别的,我先大概说一下,满足一下大家的好奇心,虽然这二个地址在数值上都是一样的但是,首元素 的地址,他的指针是指向一个元素的指针假如这是一个int型的,因此加一就是向后跳4个字节,而整个数组的地址就是一个指针指向一个数组,加一就是跳过一个数组的大小,能理解不,理解不了也没关系,因为我后面,还是下一张讲)

有了这些基础我们就可以,使用指针来访问数组了。

另外说一个arr【10】,这个表示arr的第11个元素,但是电脑在计算的时候会把这个以arr【0】+10,来计算。这个是什么意思呢,首先,在内存中我们知道数组的元素储存是连续的,因此,第一个元素后面就是第二个元素,这样,电脑只要知道了数组首元素就可以计算整个数组的地址,而arr【0】就是第一个元素,因此,arr【10】就是第11个元素。

现在,我们先说一下一维数组传参的本质,我们在写了一个main函数的时候,我们想要额外分装一个函数,而那个函数又要用数组,那我们可以如图:

这样传参,但是我们要讲的是本质,而这个只是表面的,我们传arr的时候,有没有想过一个数组,我们到底是怎么传的,在之前我说过一张函数栈帧的讲解,我们传的参是以压栈的形式压进去的,也就是压一个元素,你想如果我们传数组的时候,我们如果把整个数组都传过去,我们现在写的数组确实没有很大,那空间浪费的不多,但是如果这个数组他有成千上万个元素呢,那空间浪费是不是很大,而且可以省的就没有必要浪费了(就像我在网上看到的那个博主,她没有经济来源,她自己认为要省钱,然后她老公买了一个几百的键盘,她就生气了,和她老公吵架,还发到了网上,但是眼尖的网友就发现了她手上戴着黄金镯子,说黄金的必需的,一个有用的键盘就是没用的。大家也就看个乐吧)所以这样还是对空间浪费大,那怎么办呢,对我们在上面说了(想不起来,就去看,就是这章)计算机想要访问一个数组只要有首元素就行了,这样我们只要+的去,就可以访问了,但是留一个心眼我们同时最好把这个数组的总个数传过去,这样计算机的不会因为不知道有多少元素而越界访问了。而我们上面也说了,arr除了两个情况,都是表示首元素地址,两个角度分析都发现arr就是首元素地址,既然我们传的是首元素地址,那我们也是用一个指针接收啊,那为什么在for—printf中接收,我们也是用一个数组呢,没错,因为那个数组名也是首元素地址,就可以接收了,但是又有聪明的小伙伴要说,我们传首元素地址,那我们可不可以用一个指针直接接收,也可以的。我们就用一个指针来接收

但是要注意我在访问的时候没有用arr【元素】来访问了,有人说这是上面访问方法啊,从来没有见过。(有见过的吗)这还没见过,脑子里想没见过的再把上文看一看,我说了arr【10】计算机会把他看为是arr【0】+10。对还是不对。而pa不就是首元素的地址吗。那么首元素的地址向后不就是后面元素的地址吗,*(就是拿到这个地址存放的元素)这个是解引用不会有人不知道吧。

Orange3实战教程:转换---预处理 部件提供了多种预处理方法,这些方法可以在单个预处理流程中组合使用。某些方法也可作为独立部件提供,支持更高级的技术和参数调整。连接到测试与评分:在交叉验证的每个批次中应用预处理器,随后学习器的预处理器会作用于预处理后的子集。连接到学习器:覆盖学习器的默认预处理流程,仅应用自定义流程(各学习器的默认步骤详见其文档)。直接连接到原始数据并输出预处理后的数据集,可能导致模型过拟合。:从原始数据中随机选择固定数量或百分比的特征,主要用于高级测试或教学用途。的预处理器输入,同时传入数据和学习器(如。 阅读详情

相关推荐

stm32H743基于CubeMX配置为双ADC多通道DMA规则采样

stm32H743的ADC支持的最大频率为36MHz,有相关资料上说是可以超频,具体技术细节不多讨论。 需求: 使用stm32H743的ADC采集5路ovrc

xtqbp的博客 4361

指针进阶:数组指针、指针数组、字符指针(超详细讲解,小白一看就懂!!!!!!)

当大家对指针有了初步了解以后会发现,此时我们对指针只是停留在能够看懂和写出基础的指针,指针真正经常用到的地方其实在于指针数组、数组指针和字符指针的应用。因为再平时的刷题和看大佬的的代码基本都是这些东西再不停的出现,这些知识也一直困扰着我,经过我的仔细研究,将它写出来,和大家分享。(295条消息) 指针基础知识理解(简单、易懂、超详细!!!!)_sunny-ll的博客-优快云博客。

weixin_45031801的博客 1万+

Windows系统监控实战:Grafana+Prometheus+node_exporter配置全攻略

本文提供了一套完整的Windows系统监控解决方案,详细介绍了如何使用Grafana、Prometheus和node_exporter(Windows版为windows_exporter)构建可视化监控平台。从环境准备、组件安装配置,到数据可视化与常见问题排查,手把手指导您实现从数据采集到仪表盘展示的全过程,帮助您从被动救火转向主动预警,有效保障Windows服务器稳定运行。

assembly8low的博客 247

【C语言】指针的基本知识详细讲解(指针数组、数组指针、函数指针....

C语言指针的基本知识详解

小刘好好学习的博客 2万+

ATR2660:卫星导航高增益低噪声放大器芯片数据手册

中国BDS(北斗卫星导航系统),美国的GPS,俄罗斯的GLONASS和欧盟的GALILEO导航系统应用而专门设计。芯片支持3.3V至5V宽电源供电。采用2级放大器的结构设计,具有28dB高增益和0.85dB的低噪声系数。支持BDS、GPS、GALILEO、GLONASS等L。典型功率增益:30dB@5V;典型输入P1dB:-18dBm@3.3V;典型工作电流:12.7mA@3.3V;宽供电电压范围:3.3V~5V;典型噪声系数:0.85dB;频段的多个卫星导航系统;ATR2660是一颗。

YHPsophie的博客 560

深入解析GEM5 McPAT NoC功耗模型:从arbiter电容计算到微架构关联

本文深入解析GEM5 McPAT NoC功耗模型,重点探讨arbiter电容计算与微架构的关联。通过拆解动态功耗公式和四类电容的物理本质,揭示能量与功率的转换关系,并提供参数调试和模型精度优化的实战技巧,帮助开发者更准确地预测和优化NoC功耗。

weixin_29305313的博客 201

指针的函数传参的详细讲解(一)

我们知道计算机上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的 数据也会放回内存中,那我们买电脑的时候,电脑上内存是8GB/16GB/32GB等,那这些内存空间如何 ⾼效的管理呢?传的是其值,但其他本身就又是一个指针,其本身就存着别人的地址,归根揭底还是传的是地址,所以用一级指针接收,进行解引用,同样可以改变指针指向的内存,对于指针,还有void* 的还有用const修饰,指针+整数,野指针,assert断言,字符指针,字符指针常量,这里不在多赘述。

2301_81265915的博客 7363

RK3588开发笔记-Buildroot编译host-nodejs报错解决ModuleNotFoundError: No module named ‘_bz2‘

在RK3588的开发过程中,使用Buildroot进行系统的构建和编译是一个常见的选择。然而,在编译host-nodejs的过程中,有时会遇到报错信息提示。这个错误通常是由于Python环境中缺少相应的模块导致的。以下将记录我解决这个问题的过程。。在RK3588的开发过程中,使用Buildroot编译host-nodejs时遇到的错误,通常是由于缺少相应的Python模块导致的。通过配置buildroot pythong bzip2开发库并重新编译,可以解决这个问题。

flypig has a dream! 898

指针讲解(一)

指针讲解(一)

2301_81154519的博客 2323

Agisoft Metashape 基于RTK技术的无人机航测免像控技术流程

利用无人机进行航空摄影测量,其使用方便、快速获得成果,已经是测绘行业外业生产的主要方式。RTK定位系统的出现,其厘米级的定位系统,使得航测无人机在作业时,能够准确获取拍照时的GPS位置,能够大量减少像控点,即使不使用像控点也能满足规范对精度的要求。可以有效解决特殊地形(如山川、峡谷、河流、沼泽、水库等)外业人员很难布设像控点的情况。

penglu366366的博客 2188

网络工程师如何利用Python自动Telnet到N个路由器并执行配置?

telnetlib是Python标准库中的一个模块,专门用于实现Telnet协议。通过telnetlib,我们可以方便地与支持Telnet协议的远程设备进行通信。telnetlib提供了基本的Telnet功能,如连接远程主机、发送命令、读取响应等,使得编写Telnet自动化脚本变得非常简单。文档:可以选择中文:虽然telnetlib的功能相对基础,但对于大多数Telnet操作来说已经足够。通过telnetlib,可以轻松地实现与网络设备的交互,完成自动化配置任务。

网络技术联盟站 298

C语言之指针篇【超详细讲解,带你层层深入理解指针】

本篇博客详细讲解了指针部分的内容

一名还在努力学习技术的程序员的博客 3万+

OpenClaw进行安全测试(附使用场景案例)

test-master 是一个全面的测试专家,覆盖功能测试、性能测试、安全测试三大领域。这里我们重点来看下使用test-master如何进行安全测试。使用 test-master 时,可以针对以下高频领域进行专项安全扫描:✅ OWASP Top 10 测试✅ SQL 注入测试✅ XSS 测试✅ CSRF 测试✅ 认证 / 授权测试。

十二测试录 330

C语言指针深入讲解(一)

C语言指针深入讲解 (字符指针 指针数组 数组指针 数组传参和指针传参)

azaz_plus的博客 318

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C语言指针操作(一)地址,指针,指针变量是什么

地址,指针,指针变量是什么?他们的区别?符号(*)在不同位置的解释?指针是C语言中的一个重要概念,也是C语言的一个重要特色;使用指针,可以使程序简洁、紧凑、高效。不掌握指针,就没有掌握C语言的精华。

伯努利 5527

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C语言——指针详细讲解

C语言——指针详细讲解(第一篇破万字博客)

JCC的博客 3223

【c语言进阶】如此清晰的指针讲解让你再也不怕学不会指针了,硬核指针讲解。

大家是否对指针一知半解?是否看到繁杂的指针类型晕头转向?是否因为不能灵活使用指针而烦躁?看完本篇文章,妈妈再也不用担心我晕针了。

ai15013602354的博客 1439

[C][指针]详细讲解

[C][指针]详细讲解

SnowK博客 4241

【C语言】超详讲解☀️指针是个什么针?(一次性搞定指针问题)

目录 前言 什么是指针? 引例 计算机是怎么对内存单元编号的呢? 内存空间的地址如何得到 想存地址怎么办? ​ 本质目的不是为了存地址 指针和指针类型 前言 指针这一部分可能很多人在学习的时候都觉得很难,但在这里我想说的是:不要自己吓自己,想一想,你当初刚上大学的时候可能觉得高数非常难,最后学完整本书的时候回过头再看还觉得很难吗? 肯定已经觉得没有刚开始学那么难了,那么其实指针也是这样的,只要把里面的东西都搞清楚,你就不觉得难了。 一、 什么是...

weixin_46531416的博客 5202

指针的详细讲解

指针的详细讲解 指针的定义: 指针是什么?指针从根本上来看是一个值为内存地址的变量或者数据对象。指针变量的值是地址。例如一个指针的变量名为p,那么我们可以通过 p = &a;将a的地址赋值给p,从而我们可以通过对p进行操作,对a进行修改等操作。 要创建指针变量,首先要先生命指针变量的类型。例如: int *a;//指针的类型是int *,指针所指向的是int类型的. char *b;//指针的类型是char *,指针所指向的是char类型的. double *c;//指针的类型是double

半疯的博客 1万+

初始C语言(7)——详细讲解有关初阶指针的内容

在上一章内,小编带领大家详细学习了有关表达式求值的相关内容,学习了隐式类型转换和显式类型转换的相关内容介绍了操作符的一些属性。而在这一章内,小编要带领大家进行学习初阶指针的一些内容,不要害怕,这一部分只是为了后面讲述进阶指针做一个铺垫,所以不要担心指针这一节很难,当你刚开始就害怕的话,你将永远地活在这个阴影之下,会永远学不会这一章的内容,希望大家能够有耐心地将这一章看完!内存是计算机中的重要部件,也称内存储器和主存储器它是程序和CPU进行沟通的桥梁。计算机中所有程序的运行都在内存中进行。

加油,考上985的研究生 3504

【C语言】深入讲解指针(中)

函数指针的讲解

mfy12138的博客 2340

C语言:对于指针的讲解 (一)(深入理解指针)

本文系统介绍了C语言中指针的核心概念与应用。

2201_76033461的博客 960

C语言中的指针全讲解

函数,函数与指针的关联,指针的秘密

2501_92841179的博客 1925

【C++】详细讲解指针使用,带你玩转C++指针~

这一篇文章带你玩转C++的指针!

知识记录 6695

指针详细讲解(下)

如图,我们可以知道函数指针的调用方法,而且,函数指针有一点奇特的是,变量名可以不加解引用符号,就像图中pf3和(*pf3)效果是一样的,因为函数本身也是一个地址也可以是一个变量,所以我们使用的时候可以不加解引用符号。arr+1和&arr[0]+1所在的位置是第二行第一个元素的位置,因为arr+1和&arr[0]+1是跳过一行的地址,而&arr[0][0]+1只是跳过一个元素,而&arr+1还是老样子,直接跳过整一个数组。函数指针类型解析如图,定义也如图,而函数指针指向的也是地址,那如何使用呢?

gug12345sheh的博客 1923

C语言-指针讲解(3)

数组指针,顾名思义它就是一种指针,里面存放的是数组的地址。函数指针变量是用来存放函数地址,未来通过地址来调用函数的。那么函数是否有地址呢?输出结果如下:我们可以看到vs编译器确实打印出来了地址。函数是有地址的。函数名就是函数的地址可以通过&函数名的方式获得函数的地址。但如果我们要把函数的地址存放起来,那应该怎么做呢?我们应该创建函数指针变量来存放函数的地址。其实函数指针变量的写法其实和数组指针非常类似。return x+y;

m0_63564767的博客 2784
上一篇: 指针讲解(醍醐灌顶)
下一篇: 指针讲解(三羊开泰)
star050913
博客等级 码龄3年 277粉丝 33原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值