ホームページ >バックエンド開発 >C++ >C 構造体のメンバーをゼロに初期化するにはどうすればよいですか?

C 構造体のメンバーをゼロに初期化するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-08 10:08:12265ブラウズ

How Can I Initialize C   Struct Members to Zero?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。