求教指针运算
int _tmain(int argc, _TCHAR* argv[])
{
int *ptr1,*ptr2;
ptr1 = (int *) -1;
ptr2 = NULL;
if(ptr1 > ptr2)
printf("ptr1 > ptr2\n");
else
printf("ptr2 > ptr1\n");
//printf("ptr1 - ptr2 = %x\n",ptr1 - ptr2);
//printf("0xffffffff - 0 = %d\n",0xffffffff - 0);
if(ptr1 - ptr2 > 0)
printf("ptr1 - ptr2 > 0\n");
else
printf("ptr2 - ptr1 > 0\n");
return 0;
}
为什么第一个if输出是ptr1>ptr2,而第二个输出是ptr2-ptr1>0,望高手指教
{
int *ptr1,*ptr2;
ptr1 = (int *) -1;
ptr2 = NULL;
if(ptr1 > ptr2)
printf("ptr1 > ptr2\n");
else
printf("ptr2 > ptr1\n");
//printf("ptr1 - ptr2 = %x\n",ptr1 - ptr2);
//printf("0xffffffff - 0 = %d\n",0xffffffff - 0);
if(ptr1 - ptr2 > 0)
printf("ptr1 - ptr2 > 0\n");
else
printf("ptr2 - ptr1 > 0\n");
return 0;
}
为什么第一个if输出是ptr1>ptr2,而第二个输出是ptr2-ptr1>0,望高手指教
...全文
相关推荐
C 语言指针变量的运算详解
C 语言指针变量的运算详解深入探讨了指针在编程中的重要性,尤其是它们的本质——地址存储。指针本质上是一个整数,代表内存中的某个特定位置,可以进行加法、减法、比较等操作。在提供的代码示例中,我们首先定义
C语言中指针的加减运算方法示例
在编程实践中,一定要注意指针运算的安全性和正确性,避免出现未定义的行为。希望这篇文章能帮助你更好地理解和运用C语言中的指针运算。
简单分析C++指针的操作和运算
而大于、小于、大于等于和小于等于这四种关系运算通常用于比较指针的相对位置,特别是当它们指向同一个数组或结构体内的元素时。这些运算符可以帮助我们确定一个指针是否在另一个指针之前或之后
详解C++中的成员访问运算符和指针到成员运算符
星号运算符(.*):当你有一个对象指针和一个指向成员的指针时,可以使用星号运算符来访问或修改成员。例如,`ATestpm.
指针 指针变量运算 指针数组相关
指针变量也可以被多次赋值,例如:`p = &a;`,这里的`p`的值变成了变量`a`的地址。2. 指针变量的运算指针变量可以进行加法、减法、比较等运算,但不能进行乘法、除法、取余等其他运算。


