上一篇文章讲了结构体的定义以及结构体类型变量的定义,这一篇我们来讲一下结构体变量的初始化。结构体变量的初始化既可以在定义变量的时候初始化,也可以定义完变量后,在单独给变量的成员变量赋值。

先定义一个结构体

struct student
{char name[32];        //姓名char sex[4];        //性别int num[12];        //学号int age;            //年龄
}lili={"莉莉","女","202201",17},john;
//lili这个变量是在定义的时候就初始化了,而john只定义了这个变量。

当然这里有标签名(student)就可以用另外一种方法定义变量

//定义变量并初始化,在初始化的时候,如果没有指定元素,
//就必须按结构体中成员列表的顺序初始化
struct student bear={"小熊","男","202202",18};//定义变量并初始化struct student duck;//定义变量
strcpy(duck.name,"芽芽");        //给数组赋值,使用字符串拷贝函数
strcpy(duck.sex,"男");
strcpy(duck.number,"202203");
duck.age=17;strcpy(john.name,"约翰");        //给数组赋值,使用字符串拷贝函数
strcpy(john.sex,"男");
strcpy(john.number,"202204");
john.age=18;

注意结构体变量的初始化必须按照结构体的成员列表的顺序初始化,否则可能会因为类型不匹配而导致错误,如果在有些信息不知道的情况下,只能初始化部分成员,则可以指定元素初始化。

//定义变量并初始化,在初始化的时候,指定元素初始化
struct student lisa={.name="丽萨",.sex="女",.age=18};

以上就是结构体类型变量的初始化。祝大家新年快乐,万事顺遂!

结构体类型的变量的初始化相关推荐

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

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

  2. 结构体类型和变量定义及基本操作

    结构体的定义 struct Teacher {char name[64];int age;int id; }; void main() {struct Teacher t1; // 告诉C编译器给我分 ...

  3. 【C进阶】之结构体类型( struct)

    结构体类型( struct) 1 结构体相关的概念 2 声明结构体类型的语法格式 3 定义结构体类型的变量 4 结构体中成员的访问 5 定义普通的结构体类型的变量,并访问 5.1 先声明结构体类型,在 ...

  4. 结构体类型与结构体变量

    01 结构体概念 结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构体. 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggrega ...

  5. go结构体初始化_Go语言初始化结构体的成员变量

    结构体在实例化时可以直接对成员变量进行初始化,初始化有两种形式分别是以字段"键值对"形式和多个值的列表形式,键值对形式的初始化适合选择性填充字段较多的结构体,多个值的列表形式适合填 ...

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

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

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

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

  8. golang语法系列3-Go语言初始化结构体的成员变量

    1.使用"键值对" 初始化结构体 1.1.键值对初始化结构体的书写格式 键值对初始化的格式如下: ins:= 结构体类型名{字段1:字段1的值,字段2:字段2的值,... } 结构 ...

  9. 结构体类型、联合体类型

    结构体和联合体 一.结构体类型 1. 结构体类型的设计和初始化 2. 结构体大小的计算 3. 结构体成员的访问和赋值 4. 结构体类型和指针 (1)变量名为指针时: (2)结构体赋值时容易出现的问题: ...

最新文章

  1. 前端面试题整理(css)
  2. ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException
  3. java当数值超过byte时_java试题及答案
  4. mysql 错误 0152_SP2-1503 SP2-0152 错误解决
  5. 魔兽争霸3地图(WarIII Maps):梦若流星
  6. 用python控制钉钉软件_Python—实现钉钉后台开发
  7. python接口封装_Python 接口测试之接口关键字封装
  8. 【Flutter】flutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘
  9. mysql多线程复制binlog_MySQL 不同复制模式下,如何忽略binlog事件
  10. 什么是 npm ?npm 下载安装使用
  11. java抽象类详细介绍
  12. 本地上运行正常,但是部署到了服务器却一直验证码错误(Nginx反向代理导致的session丢失问题)
  13. 移动互联网创业:美国不代表全球
  14. storyBoard配置错误导致崩溃 superview]: unrecognized selector...
  15. 设置壁纸(静态壁纸)
  16. 如何使用一台电脑远程控制多台电脑
  17. 《machine learning in action》机器学习 算法学习笔记 决策树模型
  18. KeilC51_v960版201905((含汉字补丁,STC15说明书,stc-isp-15xx-v6.86S).7z
  19. ULONG64转CString
  20. java memorystream 包_C#到Java:Base64String,MemoryStream,GZipStream

热门文章

  1. 数据增强(扩充)适合初学者
  2. nc文件在ncl中取代nan值为缺省值
  3. 山东大学 计算机人工智能2019级 认知科学与类脑计算 期末考试
  4. CSDN联合安恒信息 共同发布安全开发工程师能力标准
  5. RDD:基于内存的集群计算容错抽象(转)
  6. 中文命名实体识别mxnet_bertner_cn
  7. 虚拟机克隆 将虚拟机导出为 OVF 格式
  8. Jar包阿里云服务器后台运行
  9. IC数字芯片学习各类公众号汇总
  10. 项目中采用J2EE体系架构分析