初期化子リスト内の冗長なカンマ
C では次のような初期化子リストの末尾にカンマが許可されているのは不可解に思えるかもしれません。
int a[] = {1, 2,};
通常、 C では冗長なカンマは許可されません。関数の引数リストに見られるように:
// Syntax error function_call(arg1, arg2,);
ただし、初期化子リストの場合、この制限は明示的に解除されます。
冗長カンマの根拠
この柔軟性はさまざまな用途に役立ちます。目的:
コード例
次のコードを考えてみましょう:
int a[] = { 1, 2, 3 };
リストに要素を追加するには、次の行を追加するだけです:
int a[] = { 1, 2, 3, 4 };
これを末尾にカンマがない場合と比較してください:
int a[] = { 1 2 3 };
要素を追加するには変更が必要です既存の行と新しい行の追加:
int a[] = { 1 2, 3, 4 };
したがって、初期化子リストで末尾のカンマを許可すると、コードの複雑さが軽減され、保守性が向上します。
以上がC 初期化子リストで末尾のカンマが許可されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。