Giả sử tôi có cấu trúc được xác định đầy đủ với thẻ MyStruct
và giả sử rằng các giá trị được phép cho các trường của nó là x, y, ..., z
. Tại saoTại sao cấu trúc không thể được gán trực tiếp?
struct MyStruct q = {x,y,..,z};
phép, nhưng
struct MyStruct q;
q = {x,y,...,z};
không được phép? Tôi thấy điều này rất khó chịu. Trong trường hợp thứ hai, nơi mà trước đây tôi đã tuyên bố q
, tôi cần phải gán giá trị cho từng lĩnh vực, từng người một:
q.X = x; q.Y = y; ... q.Z = z;
nơi X, Y, ..., Z
là những lĩnh vực MyStruct
. Có lý do nào đằng sau chuyện này không?
rvalue của công việc không phải là bê tông và nó trong thời gian chạy. phân công ban đầu là bê tông tuy nhiên và có sẵn trong nhị phân (hầu hết có thể xảy ra trong phần .BSS nếu đây là một tập tin elf). nếu bạn muốn gán cấu trúc cho nhau, bạn có thể gán q cho một cái gì đó được khởi tạo. như; struct MyStruct w = {x, y, .., z}; q = w – sardok