gpt4 book ai didi

c - 带位移位的类型转换(C 语言)

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

我试图了解内存分配的工作原理,更改类型时地址和内存会发生什么情况等。

我堆放了这个字符串,但无法理解这里到底发生了什么:

(uint32_t)(((uint64_t)addr) >> 32)

没有指针,所以我不知道这里的内存分配是如何改变的。请你给我解释一下好吗?让我们假设变量“addr”的类型为 DWORD。

最佳答案

addr 被转换为 uint64_t;它的内容向右移动 32 位(从左侧插入零),结果被转换为 uint32_t。以复杂的方式返回 uint32_t 类型的零似乎没有多大意义。

此外,它与内存分配无关,只是堆栈上可能少数临时内存的一部分。

关于c - 带位移位的类型转换(C 语言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45217709/

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