c语言结构体类型的本名

首先,定义结构体的标准语法为
在c语言中,定义结构体的标准语法是:
struct A
{};
A是这个结构体的【**本名**】。在使用本名定义一个新的结构体时,
必须加上struct:
例如struct A a;
下面的代码是错误的:
A a ; /* 编译错误!定义结构的实例时必须用struct关键字 */

由typedef定义的结构体别名

在创建新的结构体变量时,如果不想加**struct**,就需要向结构体写入一个别名。
定义别名需要用到关键字**typedef**
给结构体起一个别名,如:typedef struct A{...}B;这就为结构体A定义了一个别名B。以后写B a;就等价于写struct A a 。
此时的B是一个类型,类似于int char等,
还有一种情况,定义一个结构体指针

给结构体指针起一个别名,如:typedef struct A{...}* B;
A为结构体本名,而B为结构体别名
这就为结构体指针A * 定义了一个别名B。以后写B a ; 就等价于写struct A *a 。
注意!!这里是用typedef给struct A{...} *起一个别名B,而不是给struct A{...}起一个别名*B

c语言struct结构体类型有关typedef定义的本名和别名相关推荐

  1. c语言定义学生结构体类型,C语言中结构体的三种定义方式

    c语言中结构体的定义: struct 结构体名{ 成员列表: ..... }结构体变量: 7.1.1 结构体类型变量的定义 结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对 ...

  2. c语言咋样编程学号,C语言 用结构体类型数组编程实现输入5个学生的学号姓名平时成绩期中成绩和期末成绩然后输出每位...

    满意答案 zhyx520325 推荐于 2020.12.09 采纳率:41%    等级:10 已帮助:1973人 #include #include //C语言 用结构体类型数组编程实现输入5个学生 ...

  3. 用JAVA定义两个结构体_c语言struct结构体的定义和使用

    c语言由于不像java,c#,c++等语言有对象,所以就用struct结构体来表示,其实作用是差不多的,下面来快速学习c语言struct结构体的定义和使用,以学生类student来举例,有三种定义方式 ...

  4. 【C语言】结构体类型和结构体变量(字节对齐)

    目录 一.结构体类型定义 二.结构体变量的定义 ①先定义结构体类型,再定义结构体变量 ②在定义结构体类型的同时,定义结构体变量 ③直接定义结构体变量 三.结构体变量的内存分配 四.结构体变量的初始化 ...

  5. 【Struct(结构体)杂谈之二】名不正则言不顺---Struct(结构体)的声明、定义及初始化

    Struct(结构体)的声明.定义及初始化 上一篇里我们讲了为什么我们要引入Struct这个数据类型,我们了解到Struct是一种聚合数据类型,是为了用户描述和解释一些事物的方便而提出的,Struct ...

  6. c语言中结构体类型定义的函数指针,结构体中定义函数指针

    结构体指针变量的定义 定义结构体变量的一般形式如下:形式1:先定义结构体类型,再定义变量struct 结构体标识符{ 成员变量列表;-};struct 结构体标识符 *指针变量名;变量初始化:stru ...

  7. c语言中结构体类型只有,C语言中main()函数不要返回结构体类型(求助)

    大家先看一下这段程序: #include typedef unsigned char bool; typedef struct _person person; struct _person { boo ...

  8. 【C语言】结构体类型的定义与使用

    目录 一.结构体 二.结构体的定义 1.最基本的定义 2.有 typedef 的定义 3.定义即对象方式 4.定义即对象指针方式(涉及指针就会稍微复杂一点) 5. typedef结构体和结构体指针方式 ...

  9. C语言基础 - 结构体类型字节对齐总结

    一.什么是字节对齐 在计算机中,内存空间是按照字节(1B = 8 bit)划分的,每一个字节都有一个编号,这就是字节的地址.理论上可以从任意起始地址访问任意数据类型的变量,但在实际使用中,访问特定数据 ...

最新文章

  1. PTA 基础编程题目集 7-18 二分法求多项式单根 C语言
  2. java二期_Java架构师鲁班二期
  3. linux怎么调用静态库,Linux 静态库的创建和使用
  4. 统计学中的自由度 Degrees of freedom (statistics)
  5. linux kernel中的cmdline的详细介绍
  6. go语言中的匿名函数
  7. 道路里程桩号标注_2000公里长距离电车远行,逸动EV460对里程焦虑说不
  8. 荐号 | 11个人工智能与大数据相关的个人、企业优质号
  9. iOS Xcode7上真机调试
  10. android studio的 gradle 依赖同步错误解决方法
  11. ai驱动数据安全治理_利用AI驱动的自动协调器实时停止有毒信息
  12. 金税三期工程第二阶段数据级灾备项目需求
  13. tableau 日周月筛选器_【数据可视化】Tableau教程(六)日历热力图
  14. 企业微信会话存档功能
  15. 【EDA】8 路彩灯控制器设计与实现
  16. 【java1234】java学习路线图2018
  17. 教你快速查询大量圆通快递单号的物流信息
  18. js对象转byte数组
  19. 魂动罗java源码_魂斗罗源码(VC版)
  20. 精美中文简历LaTex模板集锦

热门文章

  1. 使用pandas清洗数据(中文字符串的正则使用)
  2. 低格格式化过程及与高级格式化的区别
  3. 解决之道:从互联网安全到IoT安全,如何关上潘多拉魔盒?
  4. 随身wifi硬盘扩容详细教程
  5. 利用 MATLAB 编程实现共轭梯度法求解无约束最优化问题
  6. Ffmpeg快速命令使用 Ffmpeg选项详解 Ffmepg格式详解 常见视频文件格式详解
  7. MT6753芯片资料MT6753刷机工具下载
  8. java画笔工具代码详解
  9. 使用计算机辐射最大,电脑辐射范围距离是多大【详解】
  10. 震惊!TYPE-C 转OTG(USB2.0传输数据)+PD充电协议芯片