gpt4 book ai didi

c - 复制数据时增加指针

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

问题,我有一个 char* 指针指向一些数据(比如 1kb)。我必须在我拥有的 32 位当前代码块中调用一个方法

 char* d;
boolean r = getData(d); // data will be filled in d
while (*d != NULL) {
callAnotherMethod((int) d); // need to call it in chunk of 32 bit
d = d + 2; // Increment by 2 because its char pointer.
}

我不确定的是,它是d + 2还是d + 1。我尝试过,它有效,但不确定概念。

另外,如果它是 int* d,那么 d + 1d + 2 哪个是正确的?

小更新,是的,强制转换为 int 是有意为之,因为我想使用 32 位数据callAnotherMethod

最佳答案

char 通常为 8 位,因此要增加 32 位,您需要增加 32/8

d += 4;

最好根据数据类型的大小对其进行参数化。

d += sizeof(int);

您也可以将指针转换为 int* 并正常递增。

intd = (int*)d;
while (get_data((char *)intd)) {
callAnotherMethod(*intd);
intd++;
}

关于c - 复制数据时增加指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58001066/

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