指针,是指向另一种类型的复合类型。实现对其他对象的间接访问。
定义指针类型的方法:
将声明符写成*p(例 int *p1,*p2;)
指针存放的是某个对象的地址:
int a=42; int *p = &a;
除两种特殊情况,所有指针的类型都要和它所指向的对象严格匹配(这里不再细述两种特殊情况)
定义变量ival=42 , ival的地址为0x6ffe14
定义指针p1,p1的值为变量ival的地址 0x6ffe14
定义指针的指针p2,p2的值为指针变量p1的地址 0x6ffe08
解引用:如果指针指向了一个对象,允许使用解引用符( * )来访问该对象
上图14行代码:*p1,输出结果为p1所指向对象的值,该地址存储的为42;
双指针解引用:*p2,输入结果为p2所指向对象的值,地址值为0x6ff08所存储的为0x6ffe14(正是ival的地址),同理**p2输出的结果为42;
**p2 = *(*p2)=*p1=42