c中指针的指针

来源:百度知道 编辑:UC知道 时间:2024/05/09 12:31:15
int** p 这是什么意思呢,我知道
int*p=&a 是指向int a的一个指针,定义名字为p,存储的是a的地址,p+1的话,执行后为a的地址加sizeof(int),

那int **p 是什么呢
举个具体例子,包括 地址 还有在其上的运算

您既然对指针有定义上的了解,那么理解指针的指针也不会很难
关键认识清楚,指针变量也是一种变量,有着自己的值和它自身在内存中的地址

例如int a=6,我们假设它在内存中地址为1276AF73,而值为前面赋给的6
下面定义一个指针
int *p=&a;
将指针变量p指向了a,那么p这个变量的值就是a的地址1276AF73,而它自身又有自己在内存中的地址,我们假设为1234FE34.
同样的道理,我们可以定义一个新的指针变量,让它指向指针变量p:
int *q=&p;
这个新的指针变量q的值为p的地址,即1276AF73,而它自身又在内存中也有自己的地址,假设为128974AD

同理,我们可以继续定义下去指向q的指针。。。
这种指向指针变量的指针,我们就称做指针的指针