结构体类型的变量的初始化
上一篇文章讲了结构体的定义以及结构体类型变量的定义,这一篇我们来讲一下结构体变量的初始化。结构体变量的初始化既可以在定义变量的时候初始化,也可以定义完变量后,在单独给变量的成员变量赋值。
先定义一个结构体
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};
以上就是结构体类型变量的初始化。祝大家新年快乐,万事顺遂!
结构体类型的变量的初始化相关推荐
- 【C 语言】结构体 ( 结构体类型变量初始化 | 定义变量时进行初始化 | 定义隐式结构体时声明变量并初始化 | 定义普通结构体时声明变量并初始化 )
文章目录 一.结构体类型变量初始化 1.定义变量时进行初始化 2.定义普通结构体时声明变量并初始化 3.定义隐式结构体时声明变量并初始化 二.完整代码示例 一.结构体类型变量初始化 1.定义变量时进行 ...
- 结构体类型和变量定义及基本操作
结构体的定义 struct Teacher {char name[64];int age;int id; }; void main() {struct Teacher t1; // 告诉C编译器给我分 ...
- 【C进阶】之结构体类型( struct)
结构体类型( struct) 1 结构体相关的概念 2 声明结构体类型的语法格式 3 定义结构体类型的变量 4 结构体中成员的访问 5 定义普通的结构体类型的变量,并访问 5.1 先声明结构体类型,在 ...
- 结构体类型与结构体变量
01 结构体概念 结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构体. 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggrega ...
- go结构体初始化_Go语言初始化结构体的成员变量
结构体在实例化时可以直接对成员变量进行初始化,初始化有两种形式分别是以字段"键值对"形式和多个值的列表形式,键值对形式的初始化适合选择性填充字段较多的结构体,多个值的列表形式适合填 ...
- 【C语言】结构体类型和结构体变量(字节对齐)
目录 一.结构体类型定义 二.结构体变量的定义 ①先定义结构体类型,再定义结构体变量 ②在定义结构体类型的同时,定义结构体变量 ③直接定义结构体变量 三.结构体变量的内存分配 四.结构体变量的初始化 ...
- 【C 语言】结构体 ( 结构体类型定义 | 结构体类型别名 | 声明结构体变量的三种方法 | 栈内存中声明结构体变量 | 定义隐式结构体时声明变量 | 定义普通结构体时声明变量 )
文章目录 一.结构体类型定义 二.结构体类型别名 三.结构体类型变量声明 1.使用结构体类型 ( 别名 ) 声明变量 2. 定义隐式结构体时声明变量 3.定义普通结构体时声明变量 二.完整代码示例 一 ...
- golang语法系列3-Go语言初始化结构体的成员变量
1.使用"键值对" 初始化结构体 1.1.键值对初始化结构体的书写格式 键值对初始化的格式如下: ins:= 结构体类型名{字段1:字段1的值,字段2:字段2的值,... } 结构 ...
- 结构体类型、联合体类型
结构体和联合体 一.结构体类型 1. 结构体类型的设计和初始化 2. 结构体大小的计算 3. 结构体成员的访问和赋值 4. 结构体类型和指针 (1)变量名为指针时: (2)结构体赋值时容易出现的问题: ...
最新文章
- 前端面试题整理(css)
- ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException
- java当数值超过byte时_java试题及答案
- mysql 错误 0152_SP2-1503 SP2-0152 错误解决
- 魔兽争霸3地图(WarIII Maps):梦若流星
- 用python控制钉钉软件_Python—实现钉钉后台开发
- python接口封装_Python 接口测试之接口关键字封装
- 【Flutter】flutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘
- mysql多线程复制binlog_MySQL 不同复制模式下,如何忽略binlog事件
- 什么是 npm ?npm 下载安装使用
- java抽象类详细介绍
- 本地上运行正常,但是部署到了服务器却一直验证码错误(Nginx反向代理导致的session丢失问题)
- 移动互联网创业:美国不代表全球
- storyBoard配置错误导致崩溃 superview]: unrecognized selector...
- 设置壁纸(静态壁纸)
- 如何使用一台电脑远程控制多台电脑
- 《machine learning in action》机器学习 算法学习笔记 决策树模型
- KeilC51_v960版201905((含汉字补丁,STC15说明书,stc-isp-15xx-v6.86S).7z
- ULONG64转CString
- java memorystream 包_C#到Java:Base64String,MemoryStream,GZipStream