简单介绍C语言使用四种方法初始化结构体
这篇文章说明了什么是结构体,介绍了结构体的概念和使用优点,在C语言中如何使用和初始化结构体方法,通过详细的代码展开进行说明,希望该篇文章对你有所帮助 |
什么是结构体
在实际问题中,一组数据往往有很多种不同的数据类型。例如,登记学生的信息,可能需要用到 char型的姓名,int型或 char型的学号,int型的年龄,char型的性别,float型的成绩。又例如,对于记录一本书,需要 char型的书名,char型的作者名,float型的价格。在这些情况下,使用简单的基本数据类型甚至是数组都是很困难的。而结构体(类似Pascal中的“记录”),则可以有效的解决这个问题。结构体本质上还是一种数据类型,但它可以包括若干个“成员”,每个成员的类型可以相同也可以不同,也可以是基本数据类型或者又是一个构造类型。
结构体的优点
结构体的优点:结构体不仅可以记录不同类型的数据,而且使得数据结构是“高内聚,低耦合”的,更利于程序的阅读理解和移植,而且结构体的存储方式可以提高CPU对内存的访问速度。
定义
struct InitMember {int first;double second;char* third;float four; };
方法一:定义时赋值
struct InitMember test = {-10,3.141590,"method one",0.25};
需要注意对应的顺序,不能错位。
方法二:定义后逐个赋值
struct InitMember test;test.first = -10; test.second = 3.141590; test.third = "method two"; test.four = 0.25;
方法三:定义时乱序赋值(C风格)
这种方法类似于第一种方法和第二种方法的结合体,既能初始化时赋值,也可以不考虑顺序;
struct InitMember test = {.second = 3.141590,.third = "method three",.first = -10,.four = 0.25 };
这种方法在Linux内核(kernel)中经常使用,在音视频编解码库FFmpeg中也大量频繁使用,还是很不错的一种方式。
方法四:定义时乱序赋值(C++风格)
这种方法和前一种类似,网上称之为C++风格,类似于key-value键值对的方式,同样不考虑顺序。
struct InitMember test = {second:3.141590,third:"method three",first:-10,four:0.25 };
到此这篇关于C语言使用四种方法初始化结构体的文章就介绍到这了
简单介绍C语言使用四种方法初始化结构体相关推荐
- Golang简单写文件操作的四种方法
package mainimport ("bufio" //缓存IO"fmt""io""io/ioutil" //io ...
- 前辈学习C语言的四种方法,实际上不管学什么语言,都行之有效!
如果新手要学习编程,一些学长学姐都会建议从Python.PHP.Java开始学. 不过,作为工作多年的一名程序员,我还是建议你从C语言开始,为什么这么说,我相信你以后会慢慢的明白. 那么,如何学习C语 ...
- C语言四种方法求最大公约数
一.实验要求 运行最大公约数的常用算法,并进行程序的调试与测试,要求程序设计风格良好,并添加异常处理模块. 二.实验方法(四种) 1.辗转相除法(欧几里德法) C语言中用于计算两个正整数a,b的最大公 ...
- ArcEngine实现要素类排序的四种方法
ArcEngine的排序方法有多种,下面介绍一下主要的四种方法. 准备数据 测试数据如下图所示:新建一个Geodatabase的要素类,其中Name为道路名称,Width为道路宽度,下面将根据Widt ...
- linux忘记root密码怎么办——重置root密码的四种方法
linux忘记root密码之后,可以通过修改bootloader启动项的参数,进入系统,重新通过passwd指令修改root 密码. 下面介绍了常用的四种方法,在不同的场景可以选择不同的方法进行roo ...
- 实现单例模式四种方法--java
单例模式(Singleton Pattern)属于创建型模式,它确保在同一个进程内,单例类只有一个对象,并且 该对象对所有其他对象提供访问,常见的如Windows系统下的资源管理器.Spring Be ...
- 前端面试题:使用css生成田字格的四种方法
使用css生成田字格的四种方法 html结构 css基础样式 第一种 flex布局 第二种 绝对定位 第三种 css瀑布流 第四种 float浮动 html结构 <div class=" ...
- C语言实现求解斐波那契数列的四种方法及优化处理(递归,迭代,特殊性质公式,矩阵快速幂)
众所周知,斐波那契数列是非常经典的一个数列,它的数学公式如下 为了便于观察,我们列出它的几项:0 1 1 2 3 5 8 13 21...... 下面我们将介绍四种方法来用C语言计算机 ...
- c语言中字符串去掉逗号,JS四种方法去除字符串最后的逗号
window.οnlοad=function() { var obj = {name: "xxx", age: 30, sex: "female"};//定义一 ...
最新文章
- 苹果笔记本适合学python吗_千万别花冤枉钱!大学生买本得这么选!
- ACM 推荐blog汇总及OJ
- 检测到目标服务器启用了trace方法_综述:目标检测中的多尺度检测方法
- 用什么方式链接oracle数据库,使用cx_Oracle 连接oracle数据库的几种方式
- 实现根据id查询房源数据的GraphQL服务
- VC6.0蕉HOOK_timeGetTime 达到变速效果
- 数字通信系统中的均衡技术
- 3.CM3内核架构-寄存器
- 字符url编码_HTML URL编码字符参考
- 【codevs1282】约瑟夫问题
- 华泰证券高薪诚聘 技术大牛/运维平台架构师
- Process Hacker工具使用
- 【Fiddler】从零开始学习Fiddler
- CSS(刷漆)学习总结
- 用matlab来计算函数,Matlab函数求导教程
- linux系统下安装oracle客户端
- 最详细移动硬盘安装linux过程,装在移动硬盘上的linux系统不能在另一台电脑启动的解决办法
- Cisco交换机配置VTP
- dnfdpl服务器维护了,魔兽世界TBC:地狱火半岛隐藏的“大恐怖”,魔能机甲成双出没!...
- 每日阅读:你如何过一天,你就如何过一生