[解決済み】C言語で配列を0に初期化する方法は?
2022-04-06 10:28:06
質問
C言語で大きなNULL配列をグローバルで使いたいのですが、どうすればいいですか?これを行うには、以下のように入力する以外に方法はありますか?
char ZEROARRAY[1024] = {0, 0, 0, /* ... 1021 more times... */ };
?
解決方法は?
グローバル変数とスタティック変数は、自動的にゼロに初期化されます。もし、単純に
char ZEROARRAY[1024];
をグローバルスコープで実行すると、実行時にはすべてゼロになります。しかし、実際には は は、ローカル配列の場合の省略構文です。配列が部分的に初期化されている場合、初期化されていない要素は適切な型の値0を受け取ります。と書くことができます。
char ZEROARRAY[1024] = {0};
コンパイラは、書き込まれていない項目をゼロで埋めるでしょう。別の方法として
memset
を使用して、プログラム起動時に配列を初期化します。
memset(ZEROARRAY, 0, 1024);
それは、変更した後にリセットしてすべてゼロに戻したい場合に便利です。
関連
-
[解決済み】式は、単純なポインタ演算を使用して完全なオブジェクト型へのポインタでなければなりません【重複】。
-
[解決済み】警告:組み込み関数'printf'の非互換な暗黙の宣言(デフォルトで有効]
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] オブジェクトが配列であるかどうかを確認するにはどうすればよいですか?[重複]。
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み] 1...N を含む配列の作成方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] (.text+0x20): `main'への未定義の参照と関数への未定義の参照
-
[解決済み】式は、単純なポインタ演算を使用して完全なオブジェクト型へのポインタでなければなりません【重複】。
-
[解決済み】C言語におけるファイルスコープでの可変長配列の変更
-
[解決済み】 error: too few arguments to function `printDay' (C言語)
-
[解決済み】エラー:イニシャライザー要素がロード時に計算可能でない
-
[解決済み】C言語で多重定義を防ぐには?
-
[解決済み】C言語で入力が整数型かどうかチェックする
-
[解決済み] char pointers: 'char*' から 'char' への無効な変換?
-
[解決済み】int型配列へのポインタのスカラ・イニシャライザの過剰要素
-
[解決済み] 配列のすべてのメンバーを同じ値で初期化するには?