地址传递,使用uint8的数组解析int, short等类型

news/2024/10/22 11:02:24/

        当需要使用UINT8去解析所传入的数组类型的时候,我们需要使用到传递地址,再通过数组的形式,通过较小的类型去以数组的类型来解析大的类型。

char 类型是1个字节, 占8位, 使用十六进制表示,如:0xFF;

short类型是2个字节,占16位,使用十六进制表示,如:0xFFFF

int 类型是4个字节,占32位,使用十六进制表示,如:0xFFFF_FFFF。

在这里我们将char类型  short类型 int 类型 还有int数组  都传递给char类型   让函数以数组的类型解析传入的参数值。

#include "stdafx.h"
#include <string.h>typedef unsigned char      uint8_t;
typedef unsigned short     uint16_t;
typedef unsigned int     uint32_t;int DiReadPorts(uint8_t* buffer);
int DiReadPorts(uint8_t count,  uint8_t* buffer)
{printf("count=%d, buffer=%x\n", count, &buffer);for (int i = 0; i < count; i++){printf("%d. buffer=%x\n", i, buffer[i]);}printf("\n\n");return 1;
}int _tmain(int argc, _TCHAR* argv[])
{uint8_t data0 = 0x12;DiReadPorts(1, &data0);uint16_t data1 = 0xabcd;DiReadPorts(2, (uint8_t*)&data1);uint32_t data2 = 0xabcdef59;DiReadPorts(4, (uint8_t*)&data2);uint32_t data3[] = { 0x44332211, 0x88776655, 0xbbaa0099, 0xffeeddcc };DiReadPorts(16, (uint8_t*)&data3);return 0;
}

执行显示如:

最后实现,所有的输入值,按char类型的输出


http://www.ppmy.cn/news/1459480.html

相关文章

Java面试题:请解释Java中的永久代(PermGen)和元空间(Metaspace)的区别

在Java虚拟机&#xff08;JVM&#xff09;的发展历程中&#xff0c;永久代&#xff08;PermGen&#xff09;和元空间&#xff08;Metaspace&#xff09;都是用于存储类元数据的内存区域&#xff0c;但它们在实现和行为上有所不同。以下是它们之间的主要区别&#xff1a; 实现&a…

js设计模式--观察者模式

概述 观察者模式用于在对象之间建立 一对多 的依赖关系&#xff0c;当一个对象状态发生变化时&#xff0c;它的所有依赖者&#xff08;观察者&#xff09;都会收到通知并自动更新。在js中&#xff0c;观察者模式通常由两个角色组成&#xff1a;主体&#xff08;Subject&#x…

MFC中关于CMutex类的学习

MFC中关于CMutex类的学习 最近在项目中要实现两个线程之间的同步&#xff0c;MFC中提供了4个类&#xff0c;分别是CMutex(互斥量)、CCriticalSection(临界区)、CEvent(事件对象)、CSemaphore(信号量)。有关这4个类的说明&#xff0c;大家可以参考微软官方文档&#xff1a; CM…

富格林:正规经验加持交易安全

富格林指出&#xff0c;现货黄金是一种特殊的黄金交易形式&#xff0c;作为最热门的黄金投资受到大家欢迎&#xff0c;进行现货黄金交易需要掌握现货黄金分析技巧和方法&#xff0c;更重要的是要有正规交易经验的加持。现货黄金的安全性大家可以说是毋容置疑的&#xff0c;但也…

UE5材质基础(3)——数学节点篇2

UE5材质基础&#xff08;3&#xff09;——数学节点篇2 目录 UE5材质基础&#xff08;3&#xff09;——数学节点篇2 承接上文Time和lerp配合使用 Floor节点 Ceil节点 Frac节点 Fmod节点 TexCoord节点 If节点 Fresnel节点 CameraPosition节点 CameraVector节点 Pi…

【Node.js从基础到高级运用】二十八、Node.js 内存管理浅析

Node.js 作为一个基于 Chrome V8 引擎的 JavaScript 运行环境&#xff0c;其性能和效率在很大程度上取决于内存管理的优劣。 1. Node.js 内存结构 在深入了解内存管理之前&#xff0c;我们需要先了解 Node.js 的内存结构。Node.js 的内存可以大致分为以下几个部分&#xff1a;…

企业微信创建应用(一)

登录到企业微信后台管理(https://work.weixin.qq.com/)进入自建应用(应用管理-应用-创建应用) 3.查看参数AgentId和 Secret 4.企业微信查看效果

记录一个git无法push的问题

今天准备写新功能&#xff0c;想把之前的代码push到远程仓库&#xff0c;但是git突然就不工作了&#xff0c;报错如下 OpenSSL SSL_connect: Connection was reset in connection to gitee.com:443 因为我昨天把项目目录改了&#xff0c;以为是目录修改的问题&#xff0c;但是…