指针变量无非就是一个表示内存地址的长整数而已,当然可以比较。指向同一个数组时,两个指针的大小就表示谁指向的元素靠前或靠后。如果不是指向同一个数组,比较大小就只能看出谁指向的内存空间地址较小,没什么意义。
对变量a的访问有两种方式:
一是直接按地址0x065FDF4H找到a的存储单元,从而对变量a进行访问;
二是按系统为p=&a分配的地址先找到p=&a,然后根据p,&a的值(即变量a地址0x065FDF4H)找到变量a在内存中的存储单元,从而对变量a进行访问。对于前一种访问方式称为直接访问方式,后一种访问方式称为间接访问方式。
扩展资料
访问变量,首先应找到其在内存的地址,或者说,一个地址唯一指向一个内存变量,如果将变量的地址保存在内存的特定区域,用变量来存放这些地址,这样的变量就是指针变量,通过指针对所指向变量的访问,也就是一种对变量的“间接访问”。
设一组指针变量pa、pb、px、py、pm、pch1、pch2,分别指向上述的变量a、b、x、y、m、ch1、ch2,指针变量也同样被存放在内存,尽管所指向的变量类型不同,但是这些指针变量所占内存空间都是2个字节,而与所指向变量的类型无关。
可以比较,比如int a[2] = {2,1}
int *P1 = &a[1]
int *P2 = &a[2]
如果指针指向的存储值比较,就是,*P1>*P2
如果是指针地址比较,就是,P1<P2