C语言指针篇(二)多级指针

时间:2023-03-10 02:03:11
C语言指针篇(二)多级指针
    多级指针
        多级指针常常使用于数组.这里仅仅介绍一下它长什么样,后文会再次详细对比使用.
        多级指针呢,常见的有二级指针.见图.
C语言指针篇(二)多级指针
        二级指针的写法: char **p;
            这样来看: char *(*p)
            先看一级指针.char *p; *p是一个指针,指向了一个char大小的小盒子.
            再看看二级指针. char * (*p) (*p) 是一个指针,指向了一个 * 的小圆圈 .那这个小圆圈叫*(*p) ,这第二个小圆圈既然是指针,那它指向了一个char 大小的小盒子.
            在二级指针里面, 只有一个指针变量,就是p , 这个指针变量表示 这个二级指针链的入口地址.
        二级指针的使用
            二级指针的使用是比较烧脑的.但是仔细整理一下,还是可以从图上简单地理解出来.
C语言指针篇(二)多级指针
  对比一级指针.一级指针的使用
            char *p;
             int main(){

                 char *p;
char a = ; p = &a; //指针变量p的赋值是决定了p指向哪个具体的地址,这里是指向小盒子a的地址.
*p = ; //对p进行*运算是表示,对p指向的小盒子的内容进行取值或者赋值. char **p;
char a = ; //我们先记住一条规则,如果x是一个地址,那么通过 *运算就可以访问这个这个空间里面存放的数据. *p = &a; //这里的*p表示的是对p取值,那二级指针p的值是什么?当然是存放着一级指针的地址啦, 通过*运算,就可以访问一级指针这个小圆圈里面的数据,将这个小圆圈里面的内容,写成小盒子a的地址.
**p = ; //上一步把*p的值写成了小盒子a的地址,那现在*p里面的内容就是a的地址啦,通过 *运算,就可以访问小盒子里面的内容啦. }
            说到底,二级指针就是一级指针的扩展,只要搞明白一级指针怎么读,怎么操作,内存图怎么画,怎么指向空间,怎么访问空间,也一样能用相同的规则,来解读二级指针,多级指针.
            二级指针的例子到数组那里再展开.
            多画图,是学好指针的诀窍.