我有兩種類型的結構變量初始化在我的代碼中。結構數據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