gpt4 book ai didi

c++ - 指针 (*and) 语法引用

转载 作者:太空狗 更新时间:2023-10-29 23:26:26 25 4
gpt4 key购买 nike

我正在查看一段代码,该代码将命令从一个硬件发送到另一个硬件。下面是一个片段。

unsigned char data[3];

msg_header *mHead; //pointer of struct msg_header
mHead = (msg_header *) &data;

mHead->startByte = START_BYTE;
mHead->ID = GET_TELEM; //0x30
mHead->length = 0;

结构体msg_header定义在头文件中。

typedef struct {
unsigned char startByte;
unsigned char ID;
unsigned char length;
// unsigned char from;
} msg_header;

谁能解释一下 mHead = (msg_header *) &data; 实际上在做什么?我知道 *& 正在创建对指向数据的指针的引用,但为什么 msg_header 在括号中并且为什么包含它?

感谢您的帮助。

最佳答案

它将 data 的地址转换为 msg_header* 类型 - 指向 msg_header 的指针。

没有引用可言。 & 可用于获取变量的地址。

关于c++ - 指针 (*and) 语法引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24557786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com