我现在用这个代码将指针移动1个字节,但我感觉不清楚......
int* a = (int*)malloc(sizeof(int));
void* b = ((char*)a)+1;
Run Code Online (Sandbox Code Playgroud)
char是1字节,但没有为字节操作目的定义.我相信还有另一种方法来执行此字节操作.字节操作的正确方法是什么?
PS.我将示例代码修改为有效.它现在用Clang编译为C++.
我想你很困惑:
char是 1 个字节,但未定义用于字节操作目的。我相信还有另一种方法来执行此字节操作。字节操作的正确方法是什么?
byte如果不是完全相同的话,您到底想要表达什么意思char?
在 C 和 C++ 中,字符是字节。根据定义。情况并非如此,字节必然是八位字节。一个字节至少包含 8 位。无法保证给定的平台甚至可以引用正好是8 位的内存块。