Jar*_*Par 39
a的大小void*是依赖于平台的值.通常,对于32位和64位平台,它的值分别为4或8.如果你得到2作为值,那么你可能在16位编码平台上运行(或者可能有编码错误).
您可以发布您正在使用的代码以及有关您的环境/操作系统的更多信息吗?
6.2.5类型
...
27 指向void的指针应具有与指向字符类型的指针相同的表示和对齐要求.39)类似地,指向兼容类型的合格或非限定版本的指针应具有相同的表示和对齐要求.所有指向结构类型的指针都应具有相同的表示和对齐要求.所有指向union类型的指针都应具有相同的表示和对齐要求.指向其他类型的指针不需要具有相同的表示或对齐要求.
至于为什么void和char指针在你的系统上的大小为2,我怀疑那是因为你是在一个16位平台上.