指针的指针作为形参实测

news2024/12/29 10:27:07
1. VS2019里面创建C++控制台工程

在这里插入图片描述

2. 代码
#include <iostream>


uint8_t buf[3][10] = { {1,2,3},{4,5,6,7,8},{9,0} };
uint8_t len1 = 3,len2 = 5,len3 = 2;

void f1(uint8_t **dstBuf, uint8_t *dstLen)
{
    *dstBuf = buf[0];
    *dstLen = len1;
}

void f2(uint8_t** dstBuf, uint8_t* dstLen)
{
    *dstBuf = buf[1];
    *dstLen = len2;
}

void f3(uint8_t** dstBuf, uint8_t* dstLen)
{
    *dstBuf = buf[2];
    *dstLen = len3;
}

void print_f(uint8_t* buf, uint8_t len)
{
    for (int i = 0;i < len;i++)
    {
        printf("%d ",buf[i]);
    }
    printf("\n");
}

int main()
{
    uint8_t *rxBuf,rxLen;
    std::cout << "Hello World!\n";

    f1(&rxBuf, &rxLen);
    printf("f1:");
    print_f(rxBuf, rxLen);
    f2(&rxBuf, &rxLen);
    printf("f2:");
    print_f(rxBuf, rxLen);
    f3(&rxBuf, &rxLen);
    printf("f3:");
    print_f(rxBuf, rxLen);


    int i = 3;
    int* p;
    p = &i;
    int** q;
    q = &p;
    printf("%d", **q);

}

rxBuf的地址&rxBuf = 0x00dff978 作为形参传入f1()
在这里插入图片描述

这样dstBuf = &rxBuf = 0x00dff978
*dstBuf = 0x0013c000 就是buf[0]的地址
在这里插入图片描述
在这里插入图片描述

rxBuf通过调用函数,在函数中修改指针的值,达到指向不同缓存数组的目的。

3. 效果

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

密码学基础-数据加密

密码学基础-对称加密与非对称加密 概述 安全通常从四个方面来定义&#xff1a; 机密性完整性合法性&#xff08;可用性&#xff0c;合法的数据才可用&#xff09;不可否认性&#xff08;发送方不可否认发送过的消息&#xff0c;接收方不可否认接收过的消息&#xff09; 对当…

低代码: 开发难点分析,核心技术架构设计

开发难点分析 1 &#xff09;怎样实现组件 核心问题&#xff1a;编辑器 和 页面其实整个就是一系列元素构成的这些元素的自然应该抽象成组件&#xff0c;这些组件的属性应该怎样设计在不同的项目中怎样做到统一的使用 2 &#xff09;跨项目使用 在不同的项目中怎样做到统一的…

最强开源文生图模型一夜易主!SD一作、Stabililty AI核心成员Robin Rombach下场创业了,一出手就是王炸。

时隔4个月&#xff0c;开源文生图模型霸主Stable Diffusion原班人马再创业&#xff01;2024年8月1日官宣&#xff1a;Black Forest Labs成立&#xff0c;公司的第一个产品FLUX.1系列模型包含专业版、开发者版、快速版三种模型&#xff0c;效果直接秒杀Midjourney、DALL-E和Stab…

解决报错:AssertionError: Torch not compiled with CUDA enabled

首先查看自己的cuda是否可用 torch.cuda.is_available()这里我的cuda是不适配torch的&#xff0c;所以需要重新安装适配的torch 查看自己的cuda版本 方法1 方法2 在cmd处输入nvidia-smi 这样可以找到的自己的CUDA版本安装符合自己版本的pytorch 进入pytorch官网https://pyt…

双指针实现删除字符串中的所有相邻重复项

class Solution:def removeDuplicates(self, s: str) -> str:res list(s)slow fast 0length len(res)while fast < length:# 如果一样直接换&#xff0c;不一样会把后面的填在slow的位置res[slow] res[fast]# 如果发现和前一个一样&#xff0c;就退一格指针if slow …

app逆向实战:某监管app2.0.5版本ROOT检测绕过

本篇博客旨在记录学习过程&#xff0c;不可用于商用等其它途径 场景 如下图&#xff0c;在我们打开APP时页面提示如此样式说明被检测到ROOT了&#xff0c;这种情况下无法进入页面请求抓包。 查壳 如果这个APP没有加固&#xff0c;那我们可以通过反编译修改检测的代码或者F…

Django与数据库

目录 创建项目app 路由子表 数据库 创建数据库 什么是ORM 定义数据库表 Django Admin 管理数据 过滤条件 代码直接生成HTML 使用模板 前后端分离架构 对资源的增删改查处理 列出客户 添加客户 临时取消 CSRF 校验 修改客户信息 删除客户 Django中ORM的处理 数据模…

QThread::wait: Thread tried to wait on itself

调用QThread的wait()方法时&#xff0c;报警&#xff1a;QThread::wait: Thread tried to wait on itself 原因&#xff1a;在自己的线程中调用线程的wait()方法。 解决方法&#xff1a;在线程外的其他线程中&#xff0c;调用线程的wait()方法。 示例代码如下&#xff1a; …

MATLAB学习之绘图篇(二维图)

目录 1.1基础图形绘制 1.1.1使用plot函数进行图形绘制 1.1.2为图像增加图例 1.1.3为图片增加标题以及坐标轴的描述 1.1.4控制坐标轴&#xff0c;边框以及网络 1.1.5在一个图像上绘制多条曲线 1.1.6在一个窗口绘制多个图像 1.1.7对图形的对象进行操作( 坐标属性&#xff…

LeetCode Hot100 二叉搜索树中第K小的元素

给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你设计一个算法查找其中第 k 小的元素&#xff08;从 1 开始计数&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,null,2], k 1 输出&#xff1a;1示例 2&#xff1a; 输入&#xf…

【C/C++】C语言和C++实现Stack(栈)对比

我们初步了解了C&#xff0c;也用C语言实现过栈&#xff0c;就我们当前所更新过的有关C学习内容以栈为例子&#xff0c;来简单对比一下C语言和C。 1.C中栈的实现 栈的C语言实现在【数据结构】栈的概念、结构和实现详解-CSDN博客 &#xff0c;下面是C实现的栈&#xff0c; 在St…

ImageNet数据集和CIFAR-10数据集

一、为什么需要大量数据集 人工智能其实就是大数据的时代&#xff0c;无论是目标检测、图像分类、还是现在植入我们生活的推荐系统&#xff0c;“喂入”神经网络的数据越多&#xff0c;则识别效果越好、分类越准确。因此开源大型数据集的研究团队为人工智能的发展做了大量贡献…

QT教程-十五,Qt-5.14.2安卓开发环境配

目录 一&#xff0c;Qt需要的组件 二&#xff0c;需要的环境配置 1,JDK配置 1.1 配置JDK环境 1.2 Qt中配置JDK,SDK,NDK 2,创建Qt安卓项目 2.1 配置gradle-5.5.1-bin.zip文件 最近想开发一款安卓app应用&#xff0c;但是又不想去重新学习一个新的知识体系。于是在自己更为…

2024.8.5 作业

1> 使用有名管道实现&#xff0c;一个进程用于给另一个进程发消息&#xff0c;另一个进程收到消息后&#xff0c;展示到终端上&#xff0c;并且将消息保存到文件上一份 create.c #include <myhead.h> int main(int argc,const char *argv[]) {if(mkfifo("./lin…

在windows下生成的mac苹果电脑端可以执行的unity项目程序,在mac电脑不能执行的修改方法

在windows下开发Unity项目&#xff0c;如果要执行的电脑是mac&#xff0c;必须在windows下生成for mac的程序&#xff0c;发现拷贝到mac电脑后不能执行&#xff1a; 原因是改程序没有mac的执行权限: 修改方法&#xff1a; 先打开终端&#xff1a; 进入文件所在目录 cd Downlo…

✅【文献串读】Object Counting论文串读

get宝藏博主&#xff1a;Tags - 郑之杰的个人网站 (0809zheng.github.io) 目标计数(Object Counting) - 郑之杰的个人网站 (0809zheng.github.io) 目录 1.《CountGD: Multi-Modal Open-World Counting》 2.&#xff08;2024CVPR&#xff09;《DAVE – A Detect-and-Verif…

报表控件stimulsoft操作:使用 Stimulsoft 产品连接到 OData 源

Stimulsoft Ultimate &#xff08;原Stimulsoft Reports.Ultimate&#xff09;是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能&#xff0c;Stimulsoft Ultimate包含了…

FFmpeg实战 - 解复用与解码

大纲目录 文章目录 前置知识音视频基础概念解复用、解码的流程分析FFMPEG有8个常用库 常见音视频格式的介绍aac格式介绍&#xff08;ADTS&#xff09;h264格式分析FLV和MP4格式介绍 FFmpeg解码解封装实战数据包和数据帧&#xff08;AVPacket/AVFrame&#xff09;AVPacket/AVFra…

VHDX 安装操作系统

前言 使用 Win11 作为主力系统&#xff0c;再通过 VHDX 虚拟硬盘来安装另外的 Windows 系统。使用 VHDX 安装系统的好处在于&#xff1a;不影响原系统&#xff0c;用完即删。 需求 安装双系统&#xff0c;使用 VHDX 安装 WinServer 2022。 操作步骤 创建 VHDX 打开磁盘管…

一道笔试题 - 无重复字符的最长子串

老生常谈的一道题&#xff0c;常见并 文章目录 描述预期结果Java代码 描述 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的最长子串的长度。 预期结果 Java代码 import java.util.HashSet; import java.util.Set;public class Demo2 {public static void main(S…