【九月打卡】第22天 物联网/嵌入式工程师学习笔记22
课程信息
- 课程名称:物联网/嵌入式工程师
- 章节名称:第3周之第二讲 1-5 typedef关键字
- 讲师姓名:大白老师
课程内容概述
1. 简介
功能: 给一个已经存在的类型,取一个别名。可以通过别名来定义变量。
2. 使用方法
使用方法:
(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;
3. 代码示例
//
// 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关键字,其实可以理解成一个别名关键字,对于简写代码,提高代码的可读性大有裨益。