C 構造体メンバーのデフォルトの初期化
C 構造体では、メンバーはデフォルトでは自動的に 0 に初期化されません。構造体のメンバーを 0 に初期化するには、いくつかのオプションがあります。
値の初期化
中括弧で囲まれた空中括弧 { } を使用すると、すべてのメンバーにデフォルト値が割り当てられます。
Snapshot s = {};
親構造体再帰
親構造体にサブ構造体が含まれている場合、親構造体の値の初期化により、そのサブ構造体のメンバーも 0 に初期化されます:
struct Parent { Snapshot s; }; Parent p = {}; // p.s.{x,y} will be zero
Constructor初期化
構造体にコンストラクターがある場合、そのパラメーターでメンバーを初期化できますlist:
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 構造体のメンバーをゼロに初期化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。