Sha*_*baz 5 c pointers void-pointers
所以我们知道标准不会强制指针大小相等.(这里和这里)(而不是谈论函数指针)
我想知道实际上这可能是一个问题.我们知道void *可以容纳任何东西,所以如果指针大小不同,那将是最大的尺寸.鉴于此,指定void **一个char **意味着麻烦.
我的问题是假设void *和char *具有相同的大小是多么危险?实际上有一个架构,这不是真的吗?
此外,16位dos不是我想听到的!;)
void *并char *保证具有相同的尺寸.
void **并不保证与它们的大小相同char **(但非常类似于你的实现).
(C99,6.2.5p27)"指向void的指针应具有与指向字符类型的指针相同的表示和对齐要求[...]指向其他类型的指针不需要具有相同的表示或对齐要求."