最简单的事情莫过于让编译器来帮你实现加1功能。
引用:int _inc(int i)
{
char (*p)[2] = (char (*)[2])i;
return (int)&((*p)[1]);
}
int main()
{
printf("%d\n", _inc(100));
return 0;
}
可以更简单点,直接定义为宏:
引用:#define _INC(x) (int)&((*((char(*)[2])x))[1])
学习参考
引用:int _inc(int i)
{
char (*p)[2] = (char (*)[2])i;
return (int)&((*p)[1]);
}
int main()
{
printf("%d\n", _inc(100));
return 0;
}
引用:#define _INC(x) (int)&((*((char(*)[2])x))[1])