首页 > 其他 > 详细

双重指针

时间:2020-04-04 10:16:26      阅读:59      评论:0      收藏:0      [点我收藏+]

在学习OS的时候遇到了这样一个结构体,

#define LIST_ENTRY(type)                                                        struct {                                                                                struct type *le_next;   /* next element */                                      struct type **le_prev;  /* address of previous next element */          }

 虽然知道了  struct type **le_prev; 的意义,但是这个双重指针的用法还有点疑惑,所以查了一些资料

内容如下:

  char * 和char ** 
  char *定义的式一个字符型指针
  char ** 定义的是一个双重指针

技术分享图片

双重指针就是指向 指针 的指针

 1 int i = 1;
 2 char *p1 = &i;
 3 char **p2 = &p1;
 4 p1 //是 i 的地址
 5 p2 // 是p1 的地址
 6 *p1 // 取p1 值指向的内容, 就是1
 7 *p2 //取p2 值(p1 的地址)指向的内容, 就是 i 的地址
 8 **p2 // 取*p2 值(i 的地址)指向的内容, 就是1
 9 
10 //禁止套娃。。。

 

双重指针

原文:https://www.cnblogs.com/NightVoyager/p/12630392.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!