gpt4 book ai didi

为算术转换指针 - C

转载 作者:行者123 更新时间:2023-12-02 05:44:11 28 4
gpt4 key购买 nike

如果我有一个 void * x,但我想将它转换为一个 char *,这样++ 运算符将使它指向下一个字节而不是下一个 4 字节 block 。

但是,当我这样做时:

(char *) x -= byte_length;

编译器提示:

Error, lvalue required as left value of assignment.

请问我错在哪里?谢谢。

最佳答案

我会这样做:

 x = (char*)x - byte_length;

x 转换为 char*,然后应用偏移量,然后分配回 x。由于 void* 赋值与所有指针类型兼容,因此不需要进一步转换。

关于为算术转换指针 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9352098/

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