c语言 struct 的初始化
struct数据有3中初始化方法:顺序,C风格及C++风格的乱序。
1)顺序
这种方法很常见,在一般的介绍C的书中都有介绍。顺序初始化的特点是: 按照成员定义的顺序,从前到后逐个初始化;允许只初始化部分成员;在被初始化的成员之前,不能有未初始化的成员。
eg:
struct User oneUser = {10, "Lucy", "/home/Lucy"};
2)乱序(C风格)
顺序的缺陷是必须按成员定义的顺序逐个初始化,不能间隔。而乱序的方式则很好的解决了这个问题,因为这种方式是按照成员名进行。
eg:
struct User oneUser = { .name = "Lucy", .id = 10, .home = "/home/Lucy" };
3)乱序(C++风格)
C++风格的乱序初始化方式跟C风格的一样,只是它更常用在C++代码里。
eg:
struct User oneUser = { name:"Lucy", id:10, home:"/home/Lucy" };
注:
不论是哪种方式,都允许只初始化部分成员;未被初始化的成员默认为0(指针类型的成员默认为NULL)。两种乱序初始化方法,即可以用在C代码中,也可以用在C++代码中。
转载于:https://www.cnblogs.com/silentjesse/p/3225212.html
c语言 struct 的初始化相关推荐
- Go语言中的struct的初始化。
Go语言中的struct的初始化. GO语言不比其他语言,在struct中,它没有构造函数,不必赋值也能不报错. 比如: type Student struct {name stringage int ...
- c语言数组特殊初始化方法
C语言的常规初始化方法,我就不多说了,今天分享一下我之前看到的一种可以为指定位置赋值的方法. int arr[10] = {0,1,2,3}; // 这种大家都很常见把 但是这种呢 int arr[1 ...
- c语言 结构体 初始化,C语言结构体初始化
C语言结构体初始化教程 在 C语言结构体初始化 语法 struct structName varName = {fileldValue1, fileldValue2, fileldValue3}; 参 ...
- C语言struct 函数,c语言struct的用法
C语言中先申明结构体,也就是定义结构体具体形式,而后可以把它当做普通数据类型来修饰变量,也可以在定义类型时后面直接跟着定义几个变量,下面小编就为你介绍c语言struct的用法. 基本定义:结构体,通俗 ...
- c语言struct的作用和用法,c语言struct用法详解
c语言struct用法详解 在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据.结构体的定义形式为:struct 结构体名{ 结构体所包含的变量或数组 }; 结构体是一种集合,它里面包 ...
- struct的初始化
1.struct的初始化可以使用类似数组的方式,如下: struct Student { int _Age; string _Name; }; Student stu = {26,"Andy ...
- C/C++ | C语言字符数组初始化,有些赋值方式千万注意
一.字符数组的定义和初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. charstr[10]={'I','','a','m','','h','a','p','p','y'}; ...
- golang 初始化并赋值_Go语言创建、初始化数组的常见方式汇总
本文实例总结了Go语言创建.初始化数组的常见方式.分享给大家供大家参考.具体分析如下: Go语言的语法很灵活,以下展示了创建并初始化数组的多种方式: //数组初始化的各种方式 func arraySl ...
- c语言将数组初始化为1_c语言之数组初始化
c语言之数组初始化 在c语言中,我们经常会有两种初始化的方式(一维数组): 方式一 int arr[20]; 这种方式是在c语言编译阶段对数组分配了固定的内存空间,但没有为c语言赋值,此时,对该数组进 ...
- 用JAVA定义两个结构体_c语言struct结构体的定义和使用
c语言由于不像java,c#,c++等语言有对象,所以就用struct结构体来表示,其实作用是差不多的,下面来快速学习c语言struct结构体的定义和使用,以学生类student来举例,有三种定义方式 ...
最新文章
- ACMNO.40 C语言-子串 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串
- 还只看花书,西瓜书?一文告诉你如何正确学习深度学习,从理论到实战。
- ASP.NET MVC 过滤器(一)
- 《按键消抖与LED控制》实验的个人思考与总结
- RAC对单实例DG redo大小日志修改
- 如何打开CMD命令行
- ArcGIS JS API 4.10跨域问题(本地切片无法加载)解决办法
- 手把手教会你(单/多)文件上传(并修改文件默认的最大最小值)
- php post获取dvi,如何利用http来发送post请求
- Linux 实现一个带有重定向功能的shell
- Day4 dict和set
- android省市区三级联动,NumberPicker实现省市区三级联动的效果
- 如何在网上下载自己需要的资源
- freeradius mysql_centos7 freeradius mysql配置
- 大数据的价值,主要体现在哪几方面?
- 同步电路与跨时钟域电路设计2——多bit信号的跨时钟域传输(FIFO)
- 如何进入华为P40 debug 模式/开发者选项模式
- c语言扇形打印图片,怎么做扇形图表?
- android(跳动的心)
- flink-cdc 使用