[解決済み] C char配列の初期化
2022-03-13 04:14:18
質問
以下の方法で初期化した後、char配列に何が入るのかがわかりません。
1.
char buf[10] = "";
2.
char buf[10] = " ";
3.
char buf[10] = "a";
ケース2の場合、私は
buf[0]
は
' '
,
buf[1]
は
'\0'
から、そして
buf[2]
から
buf[9]
はランダムなコンテンツになります。ケース3の場合、私は
buf[0]
であるべきです。
'a'
,
buf[1]
は 'Ⅻ' であるべきであり
buf[2]
から
buf[9]
はランダムなコンテンツになります。
ということでよろしいでしょうか?
また、ケース1の場合、その中の
buf
?
buf[0] == '\0'
で、以下は
buf[1]
に
buf[9]
はランダムコンテンツになるのでしょうか?
解決方法は?
これは、配列を初期化する方法ではなく、forです。
-
最初の宣言です。
char buf[10] = "";
は、以下と同等です。
char buf[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
2つ目の宣言です。
char buf[10] = " ";
は、以下と同等です。
char buf[10] = {' ', 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
3つ目の宣言です。
char buf[10] = "a";
は、以下と同等です。
char buf[10] = {'a', 0, 0, 0, 0, 0, 0, 0, 0, 0};
見ての通り、ランダムな内容ではありません。初期化子の数が少なければ、配列の残りは、初期化子として
0
. これは、配列が関数の内部で宣言されている場合でも同じです。
関連
-
[解決済み】Linuxでexeclp()がどのように動作するのか理解できません。
-
[解決済み】なぜか。"エラー: 配列型を持つ式への代入"
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] ArrayListの初期化を1行で行う。
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトの配列からidでオブジェクトを検索する
-
[解決済み】C/C++の"-->"演算子とは何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] c - 初期化がキャストなしでポインタから整数を作る、さらに2つのコンパイラーエラー
-
[解決済み】C言語におけるファイルスコープでの可変長配列の変更
-
[解決済み】デバッガgdbの使用時に不明な終了シグナルが発生する。
-
[解決済み】 error: too few arguments to function `printDay' (C言語)
-
[解決済み】エラー:イニシャライザー要素がロード時に計算可能でない
-
[解決済み] struct has no member named
-
[解決済み】ヒープ割り当てで初期化されていない値が作成された
-
[解決済み] char pointers: 'char*' から 'char' への無効な変換?
-
[解決済み】0LLや0x0ULの意味は何ですか?
-
[解決済み] テスト