gpt4 book ai didi

c - uchar 的模拟内存数组中的 int

转载 作者:太空宇宙 更新时间:2023-11-04 06:10:05 26 4
gpt4 key购买 nike

在 C 中,在 Unix 环境(Plan9)中,我有一个数组作为内存。

uchar mem[32*1024];

我需要该数组包含不同的字段,例如 int(整数)以指示可用内存的大小。所以,我试过这个:

uchar* memp=mem;
*memp=(int)250; //An example of size I want to assign.

我知道 int 的大小是 4,所以我必须强制转换或类似的东西,在这种情况下,mem 的前四个插槽的内容具有数字 250,它是 big endian。

但问题是,当我尝试按照我所解释的去做时,它不起作用。我想类型转换有错误。我希望问你,我如何才能强制 mem[0] 到 mem[3] 具有指示的大小,表示为 int 而 no 表示为 uchar?

提前致谢

最佳答案

像这样:

*((int*) memp) = 250;

那是说“尽管 memp 是一个指向字符的指针,我希望你把它当作一个指向整数的指针,并将这个整数放在它指向的地方。”

关于c - uchar 的模拟内存数组中的 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/845156/

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