在实现我自己的 sizeof 运算符时,我遇到了一个如下所述的示例。
#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)
int main()
{
double x;
printf("%d", my_sizeof(x));
getchar();
return 0;
}
我不确定他们为什么在#define 中使用 (char *) 而不是任何其他类型转换。我需要知道所述语法的确切意义。有人可以帮助我理解这个..吗?
提前致谢。