C语言 二重指针深入理解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 二重指针深入理解相关的知识,希望对你有一定的参考价值。

k->[sss] ------>k是指针,指向内存区,内存区存的数据是sss   ,那么,*K的内容就是sss           (*k)<==>sss

sss->[hhh]---->sss是新的地址,是指针,指向内存区域,内存区域的数据是hhh,那么,*sss的内容就是hhh     (*sss)<==>hhh

 

综上所述,二重指针(*(*k))=====>就等于hhh

也就是取k地址的内容作为一个新的地址,然后再取这个新的地址的内容

 

2、思考链表

其实嘛,和链表很像

typedef struct node

{

  int num;

  node*point;

};

struct node * head;

int num1=5;

int num2=6;

int num3=7;

int num4=8;

(*head).num=num1;

 

struct node second;

 (second).num=num2;

(second).node=null;

 

(*head).node=*second;

(*head).node//这个是根据一个地址,取地址里面的内容

(*(*head).node).num  //这个是根据这个新的地址,去取对应的数据、

说白了,就是二重指针

以上是关于C语言 二重指针深入理解的主要内容,如果未能解决你的问题,请参考以下文章

C语言中的二维数组名是一个二重指针吗?

《深入理解C指针》学习笔记--- 指针之外

C语言之深入解析如何理解指针和结构体指针指针函数函数指针

深入理解C语言的指针

C语言的罗盘——指针!深入理解C语言指针及其应用

C语言进阶笔记深入了解进阶指针