大家都知道, 用struct定义一个结构体后, 每次用都需要打struct.

就如这样:

#include <stdio.h>

#include <stdlib.h>

struct student

{

int num;

char sex[10];

char name[20];

int score;

};

int main()

{

struct student stu[10];

return 0;

}

就如代码中的红字, 每次用student这个结构体, 都要在student前面加上struct, 这是很麻烦的, 那么有没有办法简化呢? 在c里面有一个typedef的关键字, 就可以简化。先看代码。

#include <stdio.h>

#include <stdlib.h>

typedef struct student

{

int num;

char sex[10];

char name[20];

int score;

}st;

int main()

{

st stu[10];

return 0;

}

就如代码上所示, 以后要用结构体student定义, 只需要打st就行了。 那么这个要怎么理解呢, st 其实就是student的 一个小名。 对 你听的没错, 每个人都有大名和小名, 叫大名是你, 叫小名也是你, 而typedef就是起起小名的作用, 这样就可以起到简化的作用了。

struct 中 typedef的用法相关推荐

  1. C语言 结构体Struct 中冒号的用法

    C语言 结构体Struct 中冒号的用法 本文有部分内容参考菜鸟教程-C 位域 . 关于"位域"的说明 有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位. ...

  2. C++中typedef的用法

    在C++中,有很多的变量类型,有的变量类型名很短,如int.bool等,有的类型名却很长,如usigned short int.usigned long int等.typedef通常用于给比较长的类型 ...

  3. C和C++中struct的typedef用法建议

    C和C++中struct的typedef用法建议 参考文章(建议先读) 根据参考的文章,总结一下: 情况1 C语言中: typedef struct{ ···: }aaa; 则aaa是struct类的 ...

  4. struct和typedef struct在C与C++中用法

    struct和typedef struct 分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int ...

  5. c语言中的typedef struct相当于java的一个类?,C ++中'struct'和'typedef struct'之间的区别?...

    在C ++中,之间有什么区别: struct Foo { ... }; 和 typedef struct { ... } Foo; #1楼 您不能对typedef结构使用forward声明. stru ...

  6. c和c++中 typedef struct与struct,以及 typedef struct LNode *list

    struct和typedef struct彻底明白了 typedef struct LNode *list和struct LNode有什么区别 typedef在C中叫做声明别名,就是说同种事物的另外一 ...

  7. C++中typedef和define的区别

    typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: ...

  8. C及C++中typedef的简单使用指南

    C及C++中typedef的简单使用指南 又是在学数据结构的时候,发现了之前学习的知识遗忘很多,在发现对C/C++中关键字typedef的理解还是没有到位后,我翻阅了学C++用到的课本,又问了度娘,也 ...

  9. typedef的用法

    结构体定义:struct与typedef struct 用法详解和用法小结 分类: C/C++ 2011-10-16 13:44 4446人阅读 评论(3) 收藏 举报 struct编译器fun语言c ...

最新文章

  1. 2021年中国工业互联网安全大赛核能行业赛道writeup之鱿鱼游戏
  2. 系统集成项目管理工程师教程(第2版)带书签目录
  3. mysql 5.02审计_CentOS 7.2 mysql-5.7.17 审计插件安装、开启与设定
  4. RPA如何助力企业解决人才短缺难题?
  5. large_margin
  6. 1035. 插入与归并(25)-浙大PAT乙级真题
  7. SSH启动失败解决方法
  8. CCF NOI1140 高精度乘法
  9. LightOj 1088 - Points in Segments (二分枚举)
  10. GNU开发工具——Bochs模拟器
  11. GB28181 PTZCmd控制指令笔记
  12. CAN报文解析—案例
  13. 群同态和群同构的区别_顾沛《抽象代数》1.4群的同态与同构习题解答
  14. UVM 中的消息机制
  15. 更换openstack虚拟机ip
  16. 解决:fatal: unable to access ‘https://github.com/xxxxxxxxxxxxxxx/‘: Failed to connect
  17. 如何安装IBM QISKit
  18. dede image.class.php,摘自织梦CMS中的图片处理类
  19. 离职后,华为的哪些东西是你最留恋的?
  20. 三层架构什么是高内聚低耦合?

热门文章

  1. Excel的IYQ钓鱼
  2. 什么是APP封装?APP封装有什么途径?
  3. 10年过去,人们买不起旗舰机了
  4. NatApp免费内网穿透
  5. 刘彬20000词汇01
  6. 小工具二:报文比对工具
  7. Android史上最强分割线全攻略
  8. 程序员装B小技巧——管理你的桌面
  9. access字段相加_access如何对一行的几列求和
  10. 百钱百鸡问题最优解法