关于结构体变量等于0的问题

发布时间:2024-11-26 15:09

社会问题的产生可能源于社会结构、价值观、政策缺失等多个层面。 #生活知识# #社会生活# #社会问题#

最新推荐文章于 2023-09-20 09:40:30 发布

尹泽宇 于 2016-07-06 10:22:34 发布

1 综述

今天看到几行代码:

if(!A)

{

}

else

{

}

其中A是结构体变量,犹豫了一下,这么简单的东西不应该啊,因此做个学习。

2 结构体变量的值

有如下结构体:

typedef struct LsAfccDataWriteReqTag

{

TaskId TaskId;

Int32 DataID;

Bool OnOff;

Int8 Oprt;

union LSAFCC_Data Data;

}LsAfccDataWriteReq;

我们可以直接用下面的代码将结构体变量设置为0:

LsAfccDataWriteReq req = {0};

上面这行代码相当于下面这行代码:

memset(&req, 0, sizeof(LsAfccDataWriteReq));

实际上,如果req是全局的或者静态的编译器就默认初始化为0, 如果局部的(栈上分配)则为随机值。

如果在栈上分配这个结构并且只初始化第一个字段,如:

LsAfccDataWriteReq req = {1};

那么req剩下的字段默认初始化为0(不是随机值!)

3 结语

实际上,数组同样是这样,如果栈上的数组没有初始化,则为随机值,如果初始化了第一个变量或者前几个变量,则后面的变量默认初始化为0。

参考文献

本文是根据本帖整理而来。

【2016-07-06】

网址:关于结构体变量等于0的问题 https://www.yuejiaxmz.com/news/view/281220

相关内容

关于面对压力的问题
怎样成为解决问题的高手?——关于问题解决的关键4步骤
关于生活中节能减排知识的调查问卷 投票结果
关于Docker这个问题,你可能不知道?
关于生活的问题作文(通用20篇)
关于高职英语语法教学问题的思考
关于治疗螨虫最好的方法是什么啊??的问题
关于低碳生活的调查问卷的结果反馈
关于构建关爱干部心理健康服务体系的调查与思考
关于解决问题的作文(精选23篇)

随便看看