gpt4 book ai didi

c - 如何使指针递增 1 个字节,而不是 1 个单位

转载 作者:太空狗 更新时间:2023-10-29 16:38:36 25 4
gpt4 key购买 nike

我有一个结构tcp_option_t,它是N 字节。如果我有一个指针 tcp_option_t* opt,并且我希望它加 1,我不能使用 opt++++opt因为这将增加 sizeof(tcp_option_t),即 N

我只想将这个指针移动 1 个字节。我目前的解决方案是

opt = (tcp_option_t *)((char*)opt+1);

但是有点麻烦。有没有更好的方法?

最佳答案

我建议您创建一个 char 指针并使用它来遍历您的结构。

char *ptr = (char*) opt;
++ptr; // will increment by one byte

当你需要从 ptr 再次恢复你的结构时,只需执行通常的转换:

opt = (tcp_option_t *) ptr;

关于c - 如何使指针递增 1 个字节,而不是 1 个单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16578054/

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