对于基类型相同的两个指针变量之间,不能进行的运算是 A) < B) = C) + D) -、

那相减有什么意义啊?
2024-12-04 11:30:12
推荐回答(5个)
回答1:

指针做减法得到的是两个指针之间的长度,进而能够有其他的用途。

类型相同的两个指针变量不能进行加法运算,但能进行减法运算。还能用‘<’、‘>’、‘==’这三个运算符进行比较,主要用于判断指针指向数组元素的先后位置。

可以比较谁的位置在前,谁的位置在后,就是谁是低地址,谁是高地址,一般来说,对数组才有可能用到如 p1=&s[0] ,p2=&s[5];那么p1在p2之前,p1是小于p2的。

扩展资料:

对变量a的访问有两种方式:一是直接按地址0x065FDF4H找到a的存储单元,从而对变量a进行访问;二是按系统为p=&a分配的地址先找到p=&a,然后根据p,&a的值(即变量a地址0x065FDF4H)找到变量a在内存中的存储单元,从而对变量a进行访问。对于前一种访问方式称为直接访问方式,后一种访问方式称为间接访问方式。

如果一个指针变量存放的是某个对象的地址,则称这个指针变量指向该对象。在C++程序设计中,指针变量只有确定了指向才有意义。

参考资料来源:百度百科-指针变量

回答2:

不能做+运算,指针表示两个地址,相加没有任何意义。

相减表示两个地址之间的偏移量。

回答3:

指针做减法得到的是两个指针之间的长度,进而能够有其他的用途。

回答4:

相减产生一个ptrdiff_size 类型的值,表示指针相差的长度

回答5:

地址差