C 구조체 멤버의 기본 초기화
C 구조체에서 멤버는 기본적으로 자동으로 0으로 초기화되지 않습니다. 구조체 멤버를 0으로 초기화하려면 다음과 같은 몇 가지 옵션이 있습니다.
값 초기화
중괄호로 묶인 빈 중괄호 { }를 사용하면 모든 멤버에 기본값이 할당됩니다.
Snapshot s = {};
상위 구조체 재귀
상위 구조체에 하위 구조체가 포함된 경우 상위 구조체의 값 초기화는 해당 하위 구조체 멤버도 0:
struct Parent { Snapshot s; }; Parent p = {}; // p.s.{x,y} will be zero
생성자로 초기화합니다. 초기화
구조체에 생성자가 있는 경우 해당 매개변수에서 멤버를 초기화할 수 있습니다. 목록:
struct Snapshot { int x; double y; Snapshot():x(0),y(0) { } }; Snapshot s; // s.{x,y} will be zero
()를 사용한 값 초기화
()로 표시된 값 초기화는 유형에 관계없이 멤버를 초기화합니다.
struct Snapshot { int x; double y; }; Snapshot s = {x(), y()}; // s.{x,y} will be zero
템플릿 구조체의 경우 값 초기화가 중요하므로 다양한 유형에 대한 적절한 초기화를 보장해야 합니다.
위 내용은 C 구조체 멤버를 0으로 초기화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!