结构体是一种构造类型(结构体、数组、联合类型),结构体弥补了数组不能存储多种类型的缺陷(即结构体是由于相同类型或不同类的成员组成)

一般声明形式如:

struct 结构体名称 {

成员列表

};

struct Student{      //Student为结构体名称char name[20];  //学生姓名int num;       //学生学号float score;   //学生成绩
};

上面声明了3个不同类型成员的结构体,每个成员以 ; 分号结束。花括号后面的 ; 分号表示结构体声明结束。


声明结构体之后,下面来定义结构体变量

语法如下:

struct 结构体名称 结构体变量名称

struct Student st1; //定义结构体变量st1,其中st1为结构体变量名称

结构体变量声明与定义同时的方式

struct Stduent{         //结构体名称char name[20];     //学生姓名int num;           //学生学号float score;       //学生成绩
} st1 ; //结构体变量名称

另外还可以声明定义匿名结构体(此方式不能再定义结构变量了,适合单一使用。不适合重复使用)

struct{                 //匿名结构体,没有结构体名称char name[20];     //学生姓名int num;           //学生学号float score;       //学生成绩
} st1 ; //结构体变量名称

结构体struct声明、定义相关推荐

  1. c语言中 定义结构体变量初始化,c++中的结构体:声明 定义 初始化

    什么是结构体? 之前的学习中我们知道了数组是一个容器,而且是存放固定大小数据的容器,而且存放的元素的数据类型必须要一致. 比如数据库中有这样的一条记录学号 性别 年龄 成绩 地址应该怎样存放 结构体: ...

  2. 结构体struct的定义和使用

  3. C语言结构体struct详解与实例

    目录 1.定义 2.应用 2.1初始化 2.2使用 3.结构体对齐规则与存储 1.定义 C语言中结构体(struct关键字定义)是一种自定义数据类型.通过结构体的定义可以将多种不同类型数据形成一个组合 ...

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

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

  5. 【C 语言】结构体 ( 结构体类型变量初始化 | 定义变量时进行初始化 | 定义隐式结构体时声明变量并初始化 | 定义普通结构体时声明变量并初始化 )

    文章目录 一.结构体类型变量初始化 1.定义变量时进行初始化 2.定义普通结构体时声明变量并初始化 3.定义隐式结构体时声明变量并初始化 二.完整代码示例 一.结构体类型变量初始化 1.定义变量时进行 ...

  6. C语言结构体的声明和定义

      在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据结构.结构体 ...

  7. golang 结构体struct、数组、结构体数组 定义与赋值 、json string转struct

    文章目录 1.结构体struct 1.1 声明结构体 1.2 初始化结构体 以及 传参 2. 结构体数组.append 3. 接口返回 含数组的结构体 常用写法 json string转struct ...

  8. 【C 语言】结构体 ( 结构体类型定义 | 结构体类型别名 | 声明结构体变量的三种方法 | 栈内存中声明结构体变量 | 定义隐式结构体时声明变量 | 定义普通结构体时声明变量 )

    文章目录 一.结构体类型定义 二.结构体类型别名 三.结构体类型变量声明 1.使用结构体类型 ( 别名 ) 声明变量 2. 定义隐式结构体时声明变量 3.定义普通结构体时声明变量 二.完整代码示例 一 ...

  9. c语言结构体定义蚂蚁,C语言结构体(struct)常见使用方法

    C语言结构体(struct)常见使用方法 C语言结构体(struct)常见使用方法 基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合) ...

最新文章

  1. Windows安装python 虚拟环境,Virtualenv
  2. ssm把图片保存到项目中_项目中的图片跨域问题解决方式
  3. 【深度学习】越来越卷,教你使用Python实现卷积神经网络(CNN)
  4. Service生命周期
  5. SQL server2017和ssms管理工具下载
  6. World Wind Java开发之十——AnalyticSurface栅格渲染(转)
  7. 一些特殊的电脑快捷键
  8. django 业务代码写哪儿_测试人员快速上手Django指南
  9. 层级 z-index 透明opacity
  10. 使用花生壳6.5客户端FTP设置
  11. 稀疏表示 过完备字典
  12. 超酷汇编教程-- 简明x86汇编语言教程(1)
  13. 【Typora启动报错】This beta version of Typora is expired, please download and install a newer version.
  14. 【android相册】加载相册中的图片,实现图片缓存
  15. LCD1602显示温度符号基于Arduino
  16. 【十大思想实验之一】电车难题
  17. 怎么禁止网络启动计算机,如何禁用、启用本地连接(网卡)?
  18. 开屏广告高收益策略要点,探究底层逻辑
  19. 看完这一篇,你也可以自如地掌握字节码插桩
  20. 【总结】AWS的(助理)架构师认证体系详解

热门文章

  1. 用户需求哪些不同的层次?
  2. 企业宣传片拍摄制作经验
  3. Python 基础(四):基础语法
  4. 天梯赛练习 列车调度
  5. 业务系统中的开与闭——分发模式
  6. 智慧校园:学校机房如何实现科学化管理?
  7. window 7 ADSL宽带自动连接
  8. 山东协和学院2009级计算机学院,山东协和学院排名2021 山东排名第47全国排名第793...
  9. 从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天
  10. matlab 主曲线,基于粒计算的复杂数据多粒度主曲线提取算法