问题1:
int k=(int *)10-(int *)2; k = ?
1)把10和2转换为一个指向int类型的指针((int*)10实质是一个地址值);
2)地址的减法运算等价于在基址上的偏移量;
因此,
k = (10-2)/sizeof(int) = 2;
问题2:int k=(int *)10-(int *)4; k = ?Answer: (k = 1)
问题3:
int k=(int *)10+(int *)2; 这个语句正确吗?
注:地址是不能进行加法运算的。想一想为什么?