使用typedef定义数据类型

更新时间:2023-07-14 22:05:14 阅读: 评论:0

使⽤typedef定义数据类型
我们在C语⾔的关键字表中能够找到关键字typedef,它的意义是为复杂的声明定义简单的别名。对于这个单词,我们可以拆解,type为类型的意思,def是define(定义)的缩写。所以typedef的意义是为复杂的声明定义简单的别名。
关键字typedef⽤于为系统固有的或⽤户⾃定义的数据类型定义⼀个别名。假设有⼀个结构⽤三个坐标x,y,z表⽰⼀个点。它的定义如下:
struct pts描写苏州的诗句
{
int x;
int y;
int z;
设计素材};
结构也是⼀种数据类型,那么关键字typedef也能为其定义⼀个别名。我们就⽤关键字typedef为这个结构定义⼀个更⽅便的名字point,语句如下:typedef struct pts point;//这条语句指定名称point是struct pts的同义字。
心碎英文利⽤typedef为数据类型定义⼀个别名后,有什么⽤途吗?例如上述利⽤typedef为结构struct pts定义⼀个别名point后,可以怎么⽤呢?
答:在定义结构变量时,有struct pts start_pt;因为typedef struct pts point;这条语句指定名称point是struct pts的同义字。所以在struct pts start_pt;这条语句中,利⽤等量代换,有point start_pt;即声明⼀些变量时,可以有以下语句:
point start_pt;
肉沫豇豆point end_pt;
typedef除了可以为结构定义别名外,还可以为基本的数据类型重新定义名称,以反映变量的含义。例如当程序涉及到不同种类物品的价格,如苹果的价格和⾐服的价格,此时类型名称定义为double的同义词。
typedef double price;
//可以使⽤price声明变量
price apple;
price clothes;
//这些变量都是double类型,只是price是double的同义字
总结:typedef只是为⼀种已经存在的数据类型定义⼀个新的名称⽽已,并⾮定义⼀种新的数据类型。
下⾯我们通过⼀个例⼦来加深对typedef的理解:
//输⼊n个学⽣的信息,输出最⾼分学⽣的信息
#include<stdio.h>
typedef struct student
{
char ID[10];坚持运动
char name[10];
char x;
热水器没热水
float score;
}STUDENT;
int main()
{
STUDENT stu,first;
int n,i;
printf("请输⼊学⽣⼈数:");
scanf("%d", &n);
first.score = -1;  //把临时最优值first的成绩赋初始值-1
printf("请输⼊%d个学⽣的信息(学号姓名性别成绩):\n", n);
for(i=1; i<=n; i++)
{
scanf("%s",stu.ID);
scanf("%s",stu.name);
scanf("%*c%c",&stu.x);
scanf("%f", &stu.score);
if(stu.score > first.score)
first = stu;
}
printf("最⾼分学⽣的信息如下:\n");
printf("学号:%s\n",first.ID);双鱼座跟哪个星座最配
printf("姓名:%s\n",first.name);
printf("性别:%c\n",first.x);
printf("成绩:%4.1f\n",first.score);
赵珊珊return 0;
}
STUDENT stu, first;//这条语句声明两个STUDENT类型的结构变量,first⽤来保存当前分数最⾼的学⽣信息,first.score初始存放⼀个最⼩值,stu来循环接受每次读⼊的学⽣信息。
总结:利⽤typedef可以为数据类型起⼀个别名。

本文发布于:2023-07-14 22:05:14,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1096789.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:定义   类型   关键字   信息   数据类型   变量   名称
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图