【指针*与&】
指针和数组有异曲同工之妙,在前面博客有专门解释过,指针声明用*,凡是在声明一个变量前面加上这个符号,就是说明声明的这个变量是一个指针,它是一个地址,比如:
int a = 2;
int *p;
p = &a;
p就是一个指向整型变量的指针,p指向的是整型变量a的地址,而*在使用的时候还有一个别名,解引用,抵消了&引用功能,&在这里是引用a的地址。
*p = 1;//其实*p = *(&a) = a可以这么理解
在上例中其实就是对a值进行修改,按照注释的理解方式去思考,会觉得指针和引用的关系原来就是相互抵消的过程,*p取得是a的值,p和&a取得都是a的地址。&p注意一下是指针p在内存中的地址,指针p也是要占内存的。
【双重指针**】
双重指针即指针的指针,就是说一个指向指针的指针,定义如下,
int **y;
int a;
int *x;
x = &a;
y = &