地址的减法操作的实质:int k=(int *)10-(int *)2; k = ?

来源:互联网 发布:欧洲卡车模拟2设置优化 编辑:程序博客网 时间:2024/05/05 13:51
问题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;  这个语句正确吗?
注:地址是不能进行加法运算的。想一想为什么?
原创粉丝点击