指针

DeepMD-kit描述子机制解析:从原子坐标到不变性特征 本文深入解析DeepMD-kit描述子机制,详细阐述如何将原子坐标转换为具有平移、旋转和排列不变性的特征表示。探讨了se_e2_a、se_e3等不同描述子的适用场景及性能优化技巧,帮助读者掌握这一关键技术在分子模拟中的应用实践。 阅读详情

指针是用来专门存放地址的数据类型
1、定义一个指针时,必须规定它指向的变量类型,如int* p
【注意:如果写成int * ipa,ipb,ipc,其实只有ipa是指针类型,ipb、ipc还是int类型】
2、最好能初始化,即int a=47;int* p=&a;,C++编程的一般原则是定义时初始化

指针传递
通常,向函数传递参数时,在函数内部生成该参数的拷贝,称为“按值传递”。
如果我们传递一个指针给函数,实际上就是传递外部对象的别名,使函数能修改外部对象。(外部对象:如以下程序中,对于f(),main中的x就是外部对象)

#include <iostream>
using namespace std;

void f(int* p){
    cout<<"p= " <<p <<std::endl;
    cout<<"*p= "<<*p<<std::endl;
    *p=5;
    cout<<"*p= "<<p<<std::endl;
}
int main(){
    int x=47;
    cout<<"x= "<<x<<std::endl;
    cout<<"&x= "<<&x<<std::endl;
    //传入指针
    f(&x);
    cout<<"x= "<<x<<std::endl;
    return 0;
}

int *p=&x; 定义指针
*p:取指针p指向的变量的值
&x:取变量x的地址

引用传递
引用传递参数,不用int*传递指针,而是用int&传递实参的引用,带引用的参数调用比带指针的函数调用在语法上更加清晰。

#include <iostream>
using namespace std;
void f(int& r){
    //用int&r作为引用参数,直接传递调用者参数的地址
    cout<<"&r= "<<r<<endl;
}
int main(){
    int x=47;
    f(x);
    return 0;
}

理解:
1、指针是指向一个变量的,保存的是该变量的地址,相当于该变量的一个别名,指针传递参数相当于保存了该变量的地址,传递给调用函数,咋调用函数中通过指针拿到该变量值
2、引用传递,实际上就是传递实参,而被调用函数的形参是该实参的引用。

void*:意味着任何类型的地址都可以间接引用那个地址。
int*:只能针对int类型变量的地址可以间接引用那个地址。
一旦间接引用void*,就会丢失关于类型的信息,使用前必须转换。

int i=99;
void* vp=&i;
*((int*) vp)=3;
LM358模拟声音传感器原理图设计,已量产(声音传感器) 最近在做智能家居设备的声音触发模块时,搭了个基于 LM358 的模拟声音传感器电路 —— 不用复杂的专用芯片,靠通用运放就能把环境声音转化为可被单片机 AD 采集的电压信号,成本压得很低,实际调试下来灵敏度和稳定性都够用。今天把这个电路拆解开,聊聊每部分的设计思路。 阅读详情

相关推荐

从零到一:基于Blazor和Elsa Workflows的工作流系统开发实战

本文详细介绍了如何利用Blazor和Elsa Workflows构建高效的工作流系统,从技术选型到生产环境部署,涵盖动态工作流建模、Blazor前端集成及性能优化等核心内容。通过实战案例,展示如何实现订单处理系统的自动化与灵活性,提升企业流程效率。

weixin_26875109的博客 428

为什么要用指针,什么时候该用指针,什么时候该用指针的指针

什么是指针,什么时候要用指针,什么时候要用指针的指针,指针传参时的注意事项,C语言传递参数的实质,内存分配

Diode的博客 6292

麦当劳app之sign逆向分析

摘要:本文分析了麦当劳APP请求参数sign的逆向过程。通过抓包发现32位sign参数疑似MD5加密,使用frida-trace工具跟踪CC_MD5函数验证其为标准MD5算法。加密参数包含时间戳、token、版本号等固定和动态字段,拼接后经MD5加密生成sign。文章提供了JS和Python两种实现方案,包含完整的请求头参数和加密逻辑,最终成功获取API响应数据。该研究仅用于逆向技术学习,展示了移动应用常见加密参数的逆向分析方法。

佛系更新... 2435

指针和指针变量

如果不初始化,p由可能指向任何地方,这种指针称之为野指针,通过野指针去改变指向的不确定的地址的行为是很危险的。对于使用钥匙打开房间A和房间B的效果是一致的,但是内容的交换要比钥匙的交换开销要大得多!①可以进行的算术运算,只有以下几种:px±n,px++/++px,px–/–px,px-py。指针变量pnum的值就是变量num的地址,指针与指针变量的区别,就是变量值与变量的区别。所以在定义指针变量的时候,如果暂时没有明确的指向,对其一般初始化为NULL(空指针)对没有指向的指针变量进行操作,是很危险的事情。

cai88453626的博客 7468

OpenHarmony v4.1 Release设置应用随系统自动启动

OpenHarmony 4.1 版本中的 Ability Manager Service (AMS) 提供了应用自启动管理功能,允许系统控制哪些应用可以在系统启动时自动运行。这需要以下两个主要步骤:启用系统的自启动管理支持开发一个系统应用来管理自启动配置。

afufufufu的博客 1898

手把手教你搞定CAC会议投稿:从LaTeX模板到PDF eXpress避坑全流程

本文详细解析CAC会议投稿全流程,重点介绍LaTeX模板调整、Turnitin查重技巧及PDF eXpress校验避坑指南。通过实战案例和代码示例,帮助研究者高效完成IEEE格式论文投稿,避免常见技术性失误,提升投稿成功率。

weixin_29969209的博客 397

深入了解指针,指针数组,数组指针。

大家可能听说过这样一句话,没学过指针就是没学过C语言。指针确实时C语言的一大特色,更是C语言的一大核心。但是指针的学习也没有大家想象的这么难。今天就带大家一起来深入学习一下指针。...

qq_63943454的博客 1719

LK启动流程深度解析:从硬件初始化到内核加载的MTK平台实践

本文深度解析了MTK平台上LK(Little Kernel)的完整启动流程。从硬件初始化、内存管理(MMU/Cache)开启,到多线程环境建立,再到内核镜像加载与安全校验,详细阐述了LK如何作为Bootloader核心,完成从芯片上电到成功引导Linux内核的关键任务,是MTK平台开发者必须掌握的核心知识。

weixin_28314575的博客 214

指针 指针数组 指针数组的指针 数组指针 数组指针的数组 函数指针 指向函数指针数组的指针

指针 指针数组 指针数组的指针 数组指针 数组指针的数组 函数指针 函数指针数组 指向函数指针数组的指针

zhang1308299607的博客 4805

Python爬虫实战:逆向解析央视频加密参数(附完整代码)

本文详细解析了央视频加密体系的技术实现,通过Python逆向工程实战演示如何解密动态密钥、AES加密和自定义哈希算法等核心组件。文章提供完整代码示例,涵盖GUID生成、参数构造和异步请求处理,帮助开发者掌握现代视频平台的反爬机制破解方法。

weixin_42532473的博客 1128

BLDC&PMSM电机控制器硬件设计工程(一)概述&需求&规划

这里是一个专注于电机控制器硬件工程的开放社区与知识仓库。我们的核心使命是分享、交流与共创,致力于解开无刷直流电机(BLDC)和永磁同步电机(PMSM)中、大功率控制器硬件设计,包括驱动IC选型,电流传感器选型,控制IC,母线电容计算,功率模块(IGBT、MOS管)选型以及大功率功率模块驱动电源设计。功率等级: 重点关注中等功率(如500W-10kW) 并向大功率(10kW以上) 延伸,探讨对应的功率器件(如MOSFET, IGBT, SiC)选型与驱动。

小幽余生不加糖 635

35 多级指针、空指针、野指针、悬挂指针

本文全面探讨了 C/C++ 编程中指针的复杂性和潜在风险,包括指向指针的指针(多级指针)的定义与使用、空指针、野指针以及悬挂指针的概念、成因及避免方法。文章通过详细解析和案例演示,帮助读者深入理解这些指针类型及其在实际编程中的应用和注意事项。同时,文章还提供了空指针、野指针、悬挂指针对比总结以及指针使用一览表,为读者提供了一份实用的指针使用指南。

大模型全栈工程师 · Thanks_ks 1442

华为od 面试八股文_C++_01_含答案

华为od 面试八股文_C++_01_含答案

MISAYAONE的博客 5588

带你认识什么是一级指针、二级指针、三级指针

今天带大家了解一下什么是一级指针、二级指针、三级指针 1、一级指针 一级指针其实就是我们平时常见的普通指针 如: int a = 12; int * b = &a; //一级指针,定义一个指针变量b,将整型变量a的地址(指针)赋值给b 所以首先我们介绍一下什么是指针? 指针其实是一个内存地址,对于一个内存单元来说,单元的地址即为指针。 而我们平时常用的指针则是指针变量。 指针变量从字面意思上可以看出是存储指针的一种变量类型。 在C语言中,允许用一个变量来存放指针,这种变量称为指针

OMGMac的博客 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【C语言】指针篇(指针数组,数组指针,函数指针,一级、二级指针)

本篇包含了指针所有的知识点,包括指针的使用方法,野指针问题,指针类型的判断,一级指针,二级指针,指针常量和常量指针,指针数组和数组指针,数组传参和指针传参,函数指针和函数指针数组,以及指向函数指针数组的指针,回调函数等等。

炸掉地球的博客 2042

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

变量指针与指针变量,数组指针与指针数组

本文介绍了指针变量作为函数参数的使用方法,重点讲解了通过指针间接修改实参数据的两种方式:交换指针指向和交换指针指向的数据。同时详细阐述了指针变量与数组元素的关系,指出数组名即代表数组首地址,可以用指针变量指向数组元素。文章还系统总结了指针运算的6种常见操作,包括自增、自减、加减n个元素、指针相减和比较等,并强调了指针运算必须在同一数组内进行。最后通过多个案例演示了如何用下标法和指针法遍历数组,展示了指针与数组的灵活结合应用。

Dd000110的博客 1853

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

一文搞懂指针,指针的指针,悬浮指针,野指针

一文搞懂指针,指针的指针,悬浮指针,野指针 学习C语言过程中,指针的概念往往是重难点,伴随着时隐时显的*,令人头晕。实际上指针并非如此复杂,掌握最基础概念,有利于我们更深刻的理解指针。 【百科概念】 指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也就是内存地址,指针变量是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。 【初识

weixin_45399399的博客 2605

C++——指针、无效指针、空指针、void*指针、指向指针的指针、指针和const、指针和数组

本文介绍C++指针的相关内容...

HuoZhiyan 的博客 1202

指针作用、指针与指针变量、指针的定义与初始化、指针赋值

指针

csdn_lfy的博客 3704

指针,数组指针,指针数组,函数指针解析

文章目录前言一、指针是什么?1.1内存和地址1.2 * 运算符和 &运算符1.3创建指针变量1.4int* p的解释二、数组指针指针数组2.1 数组指针和指针数组的理解2.2 数组指针和指针数组的定义方式2.3 代码分析三、函数指针3.1 函数指针的概念3.2 函数指针的定义3.3 函数指针的使用四、套娃4.1套娃开始4.2 套娃解释4.3 疯狂疯狂套娃 前言 指针可以说是C语言最强大的功能之一,通过指针可以直接访问内存。然而指针也是C语言中非常难掌握的知识点之一。如果可以灵活地使用指针,基本上可以

fyadf的博客 728

野指针,数组指针,指针数组

目录:1.野指针(1)什么是野指针?(2)野指针的成因a.指针为初始化b.指针访问越界2.指针数组和数组指针(1)指针数组(2)数组指针(3)指针数组和数组指针+1的区别 1.野指针 (1)什么是野指针? 野指针就是指针指向的位置是不可知的(随机的,不正确的,没有明确限制的) (2)野指针的成因 a.指针为初始化 全局变量,静态变量未初始化默认是会初始化的,默认是0 其他变量都不会初始化,默认是随机值 eg: #include<stdio.h> int main() { int* p; //局

HanMeng的博客 3052

指针、野指针、指针常量、常量指针

指针 概念 指针是什么? 在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。 内存地址 字节(byte):字节是内容的容量单位,英文称为byte,一个字节有8位,即1byte = 8bits 字(word):4byte = 1字 半字:2Byte 地址:系统为了便于区分每一个字节而对它们逐一进行

HZS8520223520的博客 1417

指针:什么是指针?

概念 指针是C语言中的一种数据类型,T*,用该种类型定义的变量称为指针变量,该变量中存储的是一个地址 注:指针变量中存储的是一个地址,指针就是地址,地址就是指针 分类 指针分为一级指针和多级指针 指针的操作 解引用:返回内存地址中对应的对象。 int a=10; int *p=&a; cout<<*p<<endl;// 输出a的值,就是解引用操作。 指向结构体成员运算符(->):使用一个指向结构体或对象的指针访问其内成员。 sizeof(指针):32位系统下占用

independenting的博客 7337

指针数组,数组指针,字符指针,函数指针,二级指针介绍

一级指针解引用是*pa,得到a的值10,而二级指针解引用*ppa,得到的是一级指针变量pa保存的内容(也就是a的地址),再解引用一次**ppa,得到的依旧也是a的值10。同样数组指针也可以也可以加个的字来理解,即数组的指针,数组的指针本质上就是个指针,那么数组指针变量存放的其实就是数组的地址,是能够指向数组的指针变量。二维数组同样用上述打印的函数,传递的也是首元素地址,只不过不是单个元素了,而是一整个第一行数组的地址,这时候就得用数组的指针去接收这一整个数组的地址了。去掉指针变量的名字就是它的类型了。

a1937194471的博客 1103

数组指针、函数指针、指针数组、函数 指针数组、指针函数详细总结

数组指针、函数指针、指针数组、函数 指针数组、指针函数详细总结

wei_Embedded_z的博客 4959

《C指针漫谈:那个让你又爱又恨的家伙》(空指针、野指针、void 指针(万能指针)、函数指针、指针数组、数组指针)

本文主要讲解指针的多种用法,和一些概念,不过多赘述一些函数的用法,全文5400多字,根据需要查漏补缺, 如有疑问可以随时私信,会第一次时间进行更新补充和说明形而上学者谓之道,形而下学者谓之器目录前言一、指针的基本概念二、指针类型和指针运算三、多级指针四、万能指针五、野指针六、悬垂指针七、空指针八、指针和数组九、指针数组和数组指针十、指针和字符数组十一、指针和动态内存 堆和栈十二、动态内存函数 malloc calloc relloc 和free的使用十三、内存泄露十四、函数返回指针。

qq_63561301的博客 834
上一篇: 说明符
下一篇: C++变量类型
hackerHL
博客等级 码龄10年 30粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值