C言語での配列の形式をdefineするには、どうするのですか?

C言語では、配列の形式を定義するために、#defineマクロを使用することが一般的であり、配列の要素の初期値を中括弧{}で囲む方法があります。例えば、以下のようになります。

#define ARRAY_SIZE 5
#define ARRAY_FORMAT {1, 2, 3, 4, 5}

int main() {
    int array[ARRAY_SIZE] = ARRAY_FORMAT;
    
    // 输出数组的元素
    for (int i = 0; i < ARRAY_SIZE; i++) {
        printf("%d ", array[i]);
    }
    
    return 0;
}

上記の例では、配列のサイズを表すARRAY_SIZEというマクロが定義されており、さらに、配列の形式を表すARRAY_FORMATというマクロも定義されています。main関数では、int array[ARRAY_SIZE] = ARRAY_FORMAT;の文を使用して、マクロで定義された形式で配列を初期化します。最後に、ループを使用して配列の要素を出力します。

マクロ定義は、コンパイル段階でのテキスト置換だけなので、ARRAY_FORMATを{1, 2, 3, 4, 5}に置き換えるだけです。そのため、マクロ定義は配列の初期化にしか適用できず、動的サイズの配列の定義には使用できません。

bannerAds