typedef struct的用法
时间: 2023-05-28 12:02:44 浏览: 114
typedef struct是C语言中的关键字,用于定义结构体类型。它的一般语法形式如下:
typedef struct tagStructName{
// 结构体成员列表
member1;
member2;
…
} StructName;
其中,tagStructName是一个结构体标签,用于声明这个结构体的名称。StructName是用户定义的结构体类型的名称,通过该类型名可以创建这个结构体的变量。
下面是一个示例:
typedef struct tagStudent{
int id;
char name[20];
int age;
} Student;
上面的代码定义了一个名为Student的结构体类型,包含三个成员(id、name、age),它可以通过以下方式声明变量:
Student s1;
struct tagStudent s2;
上面的两种方式是等价的,使用第一种方式时,编译器会自动将结构体类型名Student转换为struct tagStudent。
typedef struct也可以用于定义只有一个成员的结构体:
typedef struct{
int x;
int y;
} Point;
上面的代码定义了一个名为Point的结构体类型,包含两个整型成员(x和y),这个结构体并没有使用结构体标签。在定义变量时,需要使用以下方式:
Point p1;
struct { int x; int y; } p2;
注意,使用typedef定义的结构体类型可以直接使用类型名来声明变量,而不需要在前面加上struct关键字。
阅读全文