如题所述
第1个回答 2022-07-24
强制类型转换的一个效果是改变指针运算的伸缩。
例如:
如果p是个char *类型的指针,他的值为P,那么表达式
(int *)p + 7 = P + 28
因为int占4字节,而char只占1字节
而:
(int *)(p + 7) = P + 7
因为,强制类型转换的优先级高于加法。
PS:
指针+i,表示加i个单元格,即加 i * sizeof(指针本身去掉一个*) 的字节: