【发布时间】:2016-04-27 12:39:51
【问题描述】:
我想知道这是否可行:
例如:
我们有 long Lvalue = 0xFF00f41a;
还有int *p;
我们能否指向左值的最后 2 个字节
点赞p=&Lvalue <<16;
p指向第一个16位值可以吗?
*p --> f41a;
*(p+1) --->0xFF00;
那么如果
p = 0xa011;
长左值---> 0xFF00a011
其实我需要位操作。我有 32 位值,但我只能发送 16 位,如果我更改 16 位,则必须更改 32 位值的前 16 位最后 16 位。
【问题讨论】:
-
你的问题很困惑。你想要什么,这与指针有什么关系?请参阅How to Ask 并提供minimal reproducible example
-
如果我理解正确,您想通过指针更改
long的较低int部分;不,这是不可能的。它打破了严格的别名规则。
标签: c pointers bit bitwise-and