将复杂表达式分解为多个部分:
char const* a = "200";
uint16_t* b = (uint16_t*)a;
uint16_t c = *b;
a
是指向字符串字面量 ( '2'
) 的初始字符的指针。
当我们b
通过强制转换获得时,我们说“假设指向的数据实际上是一个uint16_t
(或其数组)。
当我们取消引用b
获取c
时,我们获取“uint16_t
地址b
”。
"20"
因此,它将字符串文字 ( )的前两个字符(两个字节,16 位)重新解释为uint16_t
.