gpt4 book ai didi

c++ - 这个 Actor 分配了什么? C风格选角

转载 作者:行者123 更新时间:2023-11-30 20:20:02 25 4
gpt4 key购买 nike

这是我在这里提出的第一个问题。我目前正在尝试了解这段代码是如何工作的。我基本上想为 uint8_t 类型的名为“hv”的数组分配某个值。我不太明白这个 Actor 阵容的作用/它是如何工作的。

for (i = 0; i < 4; i++) {
hv[i] = *(uint16_t *)(h1 + 8 + i * 2);
}

我确实明白它正在尝试将第二部分转换为 uint16_t 指针,但我不知道第一个星号的作用。我们将不胜感激。

最佳答案

我假设h1是一个指针。否则这根本没有意义。

表达式(h1 + 8 + i * 2)将给出一个新的指针,该指针相对于h1有偏移。到目前为止,很大程度上取决于 sizeof(*h1)。偏移量将为 (8+i*2)*sizeof(*h1) 字节。

(uint_16_t *) 放在其前面会将其转换为 uint_16_t 指针。在其前面放置一个星号将为您提供该内存位置的内容,将其视为 uint_16_t。

代码相当于:

for (i = 0; i < 4; i++) {
uint_16_t * tmp = (uint16_t *)(h1 + 8 + i * 2);
hv[i] = *tmp;
}

关于c++ - 这个 Actor 分配了什么? C风格选角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47610338/

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