一、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;