Typedef的用法
(1) 可以用它来声明新的类型名来代替已有的类型名。例如:
typedef int ZHANG;
此时 int i;与ZHANG i;等价
(2) 同样(1)中的功能也可以用在结构体中,有结构体如下:
struct student
{
int sid;
char name[10];
char sex;
};
可以定义变量 struct student Li;加上typedef结构体可变为:
Typedef struct student
{
int sid;
char name[10];
char sex;
} ST;
此时可以定义结构体变量为ST Li;这时ST Li;等价于 struct student Li;
就像(1)中用ZHANG代替int 一样,也可以用ST代替
struct student
{
int sid;
char name[10];
char sex;
}
(3) 同样是结构体的例子。
typedef struct student
{
int sid;
char name[10];
char sex;
}* ST;
此时ST代替的数据类型为struct student *。可以理解把
struct student
{
int sid;
char name[10];
char sex;
}*;看做一个数据类型。则struct student *Li;等价于ST Li;
程序例子:
#include<stdio.h>
typedef structstudent
{
int sid;
char name[100];
char sex;
}* PSTU,STU;
int main()
{
PSTU pst;//等价于struct student * pst
STU st;//等价于struct student st;
pst = &st;
pst->sid = 100;
printf("%d",pst->sid);
return 0;
}