加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在c中初始化结构的成员变量

发布时间:2020-12-16 10:51:19 所属栏目:百科 来源:网络整理
导读:我有一个带有几个double值的结构: struct A { double a; double b;} 如果我创建一个新结构,例如a,是否所有成员(例如a.a)在C中自动初始化为零? 解决方法 不是默认情况下(除非它是静态存储的变量 – 即静态或全局变量). 有几种方法可以将这种结构初始化为“
我有一个带有几个double值的结构:

struct A {
  double a;
  double b;
}

如果我创建一个新结构,例如a,是否所有成员(例如a.a)在C中自动初始化为零?

解决方法

不是默认情况下(除非它是静态存储的变量 – 即静态或全局变量).

有几种方法可以将这种结构初始化为“零”:

A a = { 0.0,0.0 };
A a = { };

A a = A();

或者如果你有一个C 11兼容的编译器:

A a{0.0,0.0};
A a{}

或者在结构定义中添加构造函数:

struct A {
  double a;
  double b;
  A() : a(0.0),b(0.0) {}
};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读