typdef struct 语法
1:结构体
C语言中定义一个结构体的语法如下:
struct tagMyStruct { int age; int sex; };
其中,tagMyStruct是结构体名,在使用时,需要和struct 关键字一起使用,代表一个结构体类型,如下:
struct tagMyStruct people1; 其语法类似于 int num; 也就是说struct tagMyStruct 连起来相当于一种数据类型(自定义数据类型)。
people1是一个结构体变量,可以使用点语法访问结构体内部的变量。类似于:
people1.age = 5; people1.sex = 1;
在定义一个结构体的时候,同时可以声明结构体变量,语法如下:
struct tagMyStruct { int age; int sex; }testStruct;
定义了一个结构体,同时声明了一个结构体变量testStruct。
2:typedef 关键字
typedef 的使用如下:
typedef 已有类型名称 新名称;
比如: typedef int testInt; 也就是给int类型起了一个别名,testInt num 和 int num 所表示的意思是一样的,都是定义了一个int类型的变量。
typedef 和定义结构体结合起来使用如下:
typedef struct tStruct { int age; int sex; }ttStruct;
上面的代码其实是完成了两步操作:
1: 定义一个结构体类型,名称是tStruct
struct tStruct { int age; int sex; };
2:给该结构体类型起了一个新的别名 ttStruct
typedef struct tStruct ttStruct;
此时,ttStruct就表示 struct tStruct,因此在定义结构体变量时,可以使用如下的语法:
ttStruct people3; people3.age = 8; people3.sex = 0;