在C/C++中向指针添加1个字节的正确方法是什么?

Eon*_*nil 6 c c++ pointers

我现在用这个代码将指针移动1个字节,但我感​​觉不清楚......

int* a = (int*)malloc(sizeof(int));
void* b = ((char*)a)+1;   
Run Code Online (Sandbox Code Playgroud)

char是1字节,但没有为字节操作目的定义.我相信还有另一种方法来执行此字节操作.字节操作的正确方法是什么?

PS.我将示例代码修改为有效.它现在用Clang编译为C++.

Kar*_*tel 5

我想你很困惑:

char是 1 个字节,但未定义用于字节操作目的。我相信还有另一种方法来执行此字节操作。字节操作的正确方法是什么?

byte如果不是完全相同的话,您到底想要表达什么意思char

在 C 和 C++ 中,字符字节。根据定义。情况并非如此,字节必然是八位字节。一个字节至少包含 8 位。无法保证给定的平台甚至可以引用正好8 位的内存块。