我有两种类型的结构变量初始化在我的代码中。结构数据d = {0}和结构数据d = {}
例
#include<iostream>
#include<string>
using namespace std;
struct Data{
int arr[5];
float x;
};
int main(){
struct Data d = {0};
struct Data d1 = {};
cout<<d.arr[0]<<d.x;
cout<<d1.arr[0]<<d1.x<<endl;
return 0;
}
我运行代码的广告越来越0 0 0 0作为我的输出。请帮助我,两者初始化之间是否有区别。
一个是初始化列表,你必须等于对方只是一个空的初始化列表。 –
你期望在每个内部有什么?你不应该像那样初始化你的结构。你需要访问结构中的每个东西并初始化它。可能有一个函数需要一个结构,并有一个for循环,它将数组中的所有内容都初始化为0,并将您的x初始化为0 –
@Danh不是一个混蛋。将问题标记为“c”,因为它涉及到c和C++共有的语法,但这不是“垃圾邮件”。 – djechlin