Tôi có hai kiểu khởi tạo biến cấu trúc trong mã của tôi.Có sự khác biệt nào giữa struct Data d = {0} và struct Data d = {}
Ví 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;
}
Tôi đang chạy quảng cáo đang nhận được 0 0 0 0 như đầu ra của tôi. Xin hãy giúp tôi, là có bất kỳ sự khác biệt giữa cả hai khởi tạo.
Một danh sách khởi tạo mà bạn có bằng nhau chỉ là một danh sách khởi tạo rỗng. –
Và bạn mong đợi điều gì trong mỗi? Bạn không nên khởi tạo cấu trúc của bạn như thế. Bạn cần phải truy cập vào mỗi thứ bên trong struct của bạn và khởi tạo nó. Có lẽ có một hàm có cấu trúc và có vòng lặp for để khởi tạo mọi thứ trong mảng của bạn thành 0 và x của bạn thành 0 –
@Danh không bị giật. gắn thẻ một câu hỏi là 'c' vì nó liên quan đến cú pháp chung với c và C++ là không đúng nhưng nó không phải là" spam ". – djechlin