- 论坛徽章:
- 0
|
回复 403# pmerofc
这么说:
1. void*与char*可互换 (6.2.5.26)
2. object指针可转换为void*再转换回来 (6.3.2.3.1) --> 可以转换为 char* 再换回来
3. object的value可以拷贝至unsigned char[n] (6.2.6.1.4) --> 可以用 unsigned char* 遍历此value
4. 数组内元素连续(contiguously, 假如这里的 contiguously allocated 意为“顺序存储”) (6.2.5.20)
--> 4.1 a[0] 与 a[1] 相邻 --> a[0][1] 与 a[1][0] 相邻
3+4: (unsigned char*)&b[0]+sizeof(*b) == (unsigned char*)&b[1]
--> 3+4.1 (unsigned char*)&a[0][1]+sizeof(**a) == (unsigned char*)&a[1][0]
--> +2 (typeof(*a))((unsigned char*)&a[0][1]+sizeof(**a)) == (typeof(*a))((unsigned char*)&a[1][0])
end. |
|