C语言指针变量运算

一、相减运算

偏移量除以指针每次移位的大小加法运算无意义

二、关系运算

两指针变量进行关系运算可表示所指对象的关系:

pf1 == pf2;    //pf1和pf2指向同一元素。
pf1 > pf2;    //pf1处于高地址。    
pf1 < pf2;    //pf2处于高地址。
p == 0;    //p是空指针。
p != 0;    //p不是空指针。

对指针变量进行初始化是至关重要的:未初始化,值是不能使用的随机垃圾值,此时该指针被称为野指针;指针变量赋为0值时,可以被使用但是指向具体的变量。

int main()
{
	short arr[15] = { 0 };
	short *p, *q;
	p = q = arr;
	p++;
	cout<<p - q<<endl;    //指针的步数
	cout << (char*)p - (char*)q << endl;;    //字节数
	cout<<sizeof(arr) / sizeof(*arr)<<endl;    //数组大小÷指针大小
	return 0;
}

图1 VS2017运行结果

声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。