C言語で構造体をゼロ初期化する方法は?

C言語において、構造体は以下の方法でゼロ初期化できます。

  1. 花括号初期化子(ブレイス囲み初期化子)を使用して、すべてのメンバーを 0 に初期化できます。例:
struct MyStruct {
    int num;
    char character;
};

struct MyStruct myStruct = {0};
  1. 構造体のメンバーに逐次0を代入できるのは代入文を使用する場合です。例えば:
struct MyStruct {
    int num;
    char character;
};

struct MyStruct myStruct;
myStruct.num = 0;
myStruct.character = 0;
  1. memset関数を利用することで、構造体が占有するメモリ領域の全てのバイト値を0で初期化することができる。例えば
#include <string.h>

struct MyStruct {
    int num;
    char character;
};

struct MyStruct myStruct;
memset(&myStruct, 0, sizeof(struct MyStruct));

初期化の構造はゼロにしない、いくつかの一般的な方法を以下に示します。 どの方法を使用するかは、具体的状況や好みに依存します。

bannerAds