typedef的定义及用法总结
typedef 利用typedef 可以为某一类型自定义名称
1.1 特点
1.typedef 与define 不同,typedef 创建的符号名只受限于类型,不能用于值
2.typedef 用预处理器解释,不是预处理器
3.在其受限范围内,typedef 比define 更加灵活
1.2 用法
1.定义变量后在类型名前加上typedef
typedef char NAME;
//NAME 就相当于是char类型 可以直接用来定义变量
NAME c,x; //相当于是char c,x;
2.定义指向变量的指针
typedef char *s;
这里把s定义成了一个指向char类型的指针变量 类型是指向char的z指针
s name,sex; //相当于是 char *name,*sex;
3.自定义结构体
typedef struct username
{
char first[MAXLENTH];
int age;
char last[MAXLENTH];
} Name; //这样定义后Name就可以代替username结构来表示一个人的姓名 年龄 等信息
Name x; //相当于struct username x;
///
typedef struct LNode
{
int number;
double num;
char name[20];
struct LNode *next;
} LNode, *LinkList; // LNode是节点的类型,LinkList是指向LNOde类型节点的指针类型
LinkList L; // LinkList L 定义L为单链表的头指针
LNOde *p; //LNode *p 指的是 定义p为指向单链表中的任意指针 ,*p表示该节点
eg
#include <stdio.h>
#define MAXLENTH 20
typedef char BYTE; // 定义变量后在类型名前加上typedef BYTE相当于char 可以定义变量
// define BYTE char 同上
typedef char *s; //这里把s定义成了一个指向char类型的指针变量 类型是指向char的指针
// typedef 也可以自定义结构
typedef struct username
{
char first[MAXLENTH];
int age;
char last[MAXLENTH];
} Name; //这样定义后name就可以代替username结构来表示一个人的姓名 年龄 等信息
int main()
{
BYTE name[20];
scanf("%s", name);
printf("%s", name);
s name, sign; //相当于char *name,*sign;
//申请结构体变量名的方法有两种 如下
Name x; //相当于是 struct username x;
return 0;
}
时间:2021/12/25