指针的类型:
(1)基本类型:int 、short、long、float 、double、char
如 int *p;//表示定义一个指针,这个指针指向整形变量,这个指针将存放的是整形变量的地址。
(2)数组指针:指针指向一个数组
int (*a)[10];//表示指针指向一个int型的长度为10的数组
(3)函数指针:指针指向一个函数
void (*a)();//表示指针指向一个无参数无返回值的函数
指针的引用:指针引用后得到的是该地址所对应的变量的值。
二级指针:指向一级指针地址的指针
指针的运算:
(1)指针+或者-一个数,表示指针加减这个数的类型所占内存的整数倍
如 int *p=a;
p=p+2; // 在VC6.0里面,实际上p加了2 * 4=8
(2)指针减去一个指针,表示两个指针之间所差的内存单元或者元素个数,两个指针相加没有意义
(3)关系运算,如果定义了两个指针变量p和q,并且都已经初始化了,
如果p==q,则表示p和q指向同一个地址
p>q,则表示p指向高地址而q指向低地址
也经常拿p和NULL做比较,用来表示指针当前的状态,这在数据结构中应用非常广泛,不如说链表的查找等等
指针和数组的关系:
指针和数组关系密切,数组可以通过指针去引用,数组可以存放指针,数组也可以由指针去访问,指针也能存放数组的地址
————————————————
版权声明:本文为CSDN博主「红心柚大果」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43217572/article/details/106046948