如何在不使用&符的情况下将指针指向角色?

Cod*_*yfe 0 c pointers casting ampersand

对于一个项目,我需要将指针从int转换为char,对十六进制值执行字节切换.唯一需要注意的是,我不允许使用&符号.

所以我使用这行代码:

int x = 5000;
char * ptr = (char *)&x; 
Run Code Online (Sandbox Code Playgroud)

但显然我需要找到一种方法来投射这个指针而不使用&符号.有谁知道这样做的方法?我一直在寻找并且没有找到一种不涉及使用&符号或其他我不允许使用的运算符的方法(|,[,],<<,>>,^).

Mik*_*vey 8

建立联盟.

union myUnion {
  int x;
  char c[4];
} u;

char* ptr = u.c;
u.x = 5000;
Run Code Online (Sandbox Code Playgroud)

  • 也许`char c ??(4 ??);`(`[`和`]`是不允许的,这个问题说,但不管怎么说都不清楚. (3认同)