今天看到结构体的二重指针的使用,有点迷糊,于是百度下,了解了。
1、结构体的定义
typedef struct Node
{
int data;
struct Node *Next;
}Point_T,*Point_P;
这里还需要理解下typedef的用法
Node为结构体名。
Point-T为结构体strcut Node的别名。
*Point_P为结构体指针struct Node*的别名。
2、结构体指针二层指针的使用。
#include
typedef struct Node
{
int i;
int j;
}Point_T,*Point_P;
int main(void) {
Point_T p;
Point_P pp;
Point_P *ppp;
pp = &p;
ppp = &pp;
p.i = 1;
p.j = 2;
printf("%d%d\r\n",p.i,p.j);
printf("%d%d\r\n",(**ppp).j,(**ppp).i);
return 0;
}
输出结果为:12,21