在C语言中是不是任意的同类型指针都可以比较大小,为什么?

Python08

在C语言中是不是任意的同类型指针都可以比较大小,为什么?,第1张

指针变量无非就是一个表示内存地址的长整数而已,当然可以比较。指向同一个数组时,两个指针的大小就表示谁指向的元素靠前或靠后。如果不是指向同一个数组,比较大小就只能看出谁指向的内存空间地址较小,没什么意义。

对变量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 huandizhi(int *a,int *b)

{

int *temp

temp=a

a=b

b=temp

}

出在这个函数里面

交换的是a和b的值。 这个是交换形参本身的值,无法带回主函数。

要影响实参,那么只能交换*a和*b的值。