功能: 给一个已经存在的类型,取一个别名。可以通过别名来定义变量。
使用方法:
(1)按照定义变量的方法定义一个变量
(2)在定义变量该行的最前面,加上typedef 关键字,那么对应的变量名,就是类型的别名。
(3)若是数据类型名较长,可以利用typedef 减少类型名的缩写。
例如: typedef int int_32; //int <===>int_32; typedef char char_byte; //char_byte <==>char_byte typedef int array[5]; //array<===>int [5] typedef int (*funp)(int,int); //funp<===>int (int ,int ) =========================================== typedef struct { char name[20]; int id; int score; }s_t;
// // Created by au on 2022/9/26. // #include <stdio.h> typedef struct { char name[20]; int id; int score; }st; //要求设计一个input_student()函数,参数自己设计,用户从键盘输入3个学生的信息存放s 中 void input_student(st *sp, const int len) { for(int i = 0; i < len; i++) { printf("please input the %dth student info[name,id,score]\n", i+1); scanf("%s%d%d",sp[i].name, &(sp[i].id), &(sp[i].score)); } return ; } //然后设计一个ouput_student()函数,参数自己设计,输出3个学生的信息存放s中 void output_student(st *sp, const int len) { printf("NAME\tID\tSCORE\n"); for(int i = 0; i < len; i++) { printf("%s\t%d\t%d\n", sp[i].name, sp[i].id, sp[i].score); } return ; } //最后设计⼀个maxscore_student()函数,参数自己设计,返回3个学生中,分数最高人的信息。 int maxscore_student(st *sp, const int len) { int max_score = 0; for (int i = 0; i < len; i++) { if((sp[i].score) > max_score){ max_score = sp[i].score; } } return max_score; } int main(int argc, const char *argv[]) { st s[3]; int len = sizeof(s)/sizeof(s[0]); input_student(s, len); output_student(s, len); int max_score = maxscore_student(s,len); printf("maxscore_student = %d\n", max_score); return 0; }
运行结果
please input the 1th student info[name,id,score] 张三 3 98 please input the 2th student info[name,id,score] 李四 5 89 please input the 3th student info[name,id,score] 王五 6 77 NAME ID SCORE 张三 3 98 李四 5 89 王五 6 77 maxscore_student = 98
C语言中的typedef关键字,其实可以理解成一个别名关键字,对于简写代码,提高代码的可读性大有裨益。