声明BufferData Data [16] = {0}是什么意思

声明BufferData Data [16] = {0}是什么意思,第1张

概述我正在通过一个C dll并遇到了一个结构 BufferData{int Len; int Ant; unsigned char Data[512]} 然后通过创建数组初始化该结构 BufferData Data[16] = {0} 鉴于Data是一个结构数组,我不确定这是做什么的. 这是C初始化器的一个怪癖. C没有“半初始化”变量;变量未初始化或完全初始化. 如果初始化程序指定的值少于结构或数组 我正在通过一个C dll并遇到了一个结构

BufferData{int Len; int Ant; unsigned char Data[512]}

然后通过创建数组初始化该结构

BufferData Data[16] = {0}

鉴于Data是一个结构数组,我不确定这是做什么的.

解决方法 这是C初始化器的一个怪癖. C没有“半初始化”变量;变量未初始化或完全初始化.

如果初始化程序指定的值少于结构或数组具有成员的值,则所有剩余的元素将以递归方式隐式初始化为零.

因此{0}是一个通用初始化器:它将第一个字段(无论可能是什么)设置为0,所有剩余字段(如果有)也自动设置为0.

在您的情况下,第一个字段是Data的第一个元素的第一个成员,即我们显式设置Data [0] .Len并依赖于其他所有内容的零初始化.

总结

以上是内存溢出为你收集整理的声明BufferData Data [16] = {0}是什么意思全部内容,希望文章能够帮你解决声明BufferData Data [16] = {0}是什么意思所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1212162.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存