K->[SSS]------>k is a pointer to the memory area, the memory area of the data is SSS, then *k is the content of SSS (*K) <==>sss
SSS->[HHH]---->SSS is a new address, is a pointer to the memory area, the memory area of the data is HHH, then the *sss content is HHH (*sss) <==>hhh
In summary, the double pointer (* (*K)) =====> is equal to HHH
That is, take the contents of the K address as a new address, and then fetch the contents of this new address
2, thinking linked list
Actually, it's like the list.
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//This is based on an address, take the contents of the address
(* (*head). node). num//This is based on this new address, to fetch the corresponding data,
Plainly, it's a double pointer.
C-language double pointer in-depth understanding