c语言结构体初始化的四种方法遇到的问题看图

 

 
 
需要注意對应的顺序不能错位。

方法二:定义后逐个赋值

 
 
因为是逐个确定的赋值无所谓顺序啦。

方法三:定义时乱序赋值(C风格)

 
这种方法类似于第一种方法和第二种方法的结合体既能初始化时赋值,也可以不考虑顺序;
 
这种方法在Linux内核(kernel)中经常使用在音视频编解码库FFmpeg中也大量频繁使用,还是很不错的一种方式

方法四:定义时亂序赋值(C++风格)

 
这种方法和前一种类似,网上称之为C++风格类似于key-value键值对的方式,同样不考虑顺序
 

 
其实问题的引出是在分析FFmpeg源代码时,发现大量的结构体乱序赋值初始化的方式以前在C语言教材上没有发现这种用法,于是学习总结一下放到这里存档。

发布了39 篇原创文章 · 获赞 31 · 访问量 7万+

}

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}


需要注意对应嘚顺序不能错位。

方法二:定义后逐个赋值


    

这种方法在()中经常使用在音视频编解码库中也大量频繁使用,還是很不错的一种方式

方法四:定义时乱序赋值(C++风格)

这种方法和前一种类似,网上称之为C++风格类似于key-value鍵值对的方式,同样不考虑顺序

}

我要回帖

更多关于 c语言结构体初始化的四种方法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信