有趣的inc
在群里看到别人发的一段代码,说是可以实现汇编inc的效果
123456int
_inc(
int
&i)
{
char
(*p)[2] = (
char
(*)[2])i;
int
k = (
int
)&((*p)[1]);
return
k;
}
刚看到时,我以为是返回数组的第2个元素.
后来听说是inc效果,就觉得是由于char跟int的sizeof造成的.
经过别人的提醒,才知道其实都不对.
12345678int
_inc(
int
&i)
{
//这句好理解,把i转化成一个指向两个char的数组指针
char
(*p)[2] = (
char
(*)[2])i;
//关键是这一句,利用了数组下标的特性,a[i]=*(a+i);
int
k = (
int
)&((*p)[1]);
return
k;
}
不知道这样理解对不对
87年 blog
补充:综合编程 , 其他综合 ,