一、ypedef

1.1:typedef的用法(如上图所示)

typedef 用法一句话总结————把定义的类型改名

举个例子:我们熟悉的int类型 定义一个变量, 如int a;

突然,我觉得 int 有点长, 于是把int 改为单个字母Z; 如typedef int Z;

Z a = int a ;

1.2、代码如下

#include typedef int Z;int main(){ int a =10;printf("a = %d\n",a);printf("%d\n",sizeof(a));Z b=10;printf("b = %d\n", b);printf("%d\n",sizeof(b)); return 0;}

运行结果

a = 10
4
b = 10
4

二、typedef在结构体的运用

#include//结构体typedef struct node{ int data; struct node *next; } * Pnode,Node;

2.1、Pnode解析

PNode 等价于 struct node* ;

我们是不是有疑惑,不是有个*, 不应该是 *PNode

为什么不是*PNode

解析:首先我们知道一点typedef是把定义类型改名。如这个结构体

改的是红色字体

typedef struct node
{

int data;
struct node *next;

} * Pnode,Node;

省略结构体内容,typedef struct node* Pnode

至于为什么不是*PNode,从我们开始学习c语言到结束,我们并没学过*PNode这种定义类型。

也就是得出为什么不是*PNode , 因此得出结论,PNode 等价于 struct node* ;

2.2、Node解析

从2.1节,我们很容易得出

Node 等价于 struct node;