[解決済み] CのSizeof(char[])
2022-03-04 11:55:10
質問
このコードを考えてみましょう。
char name[]="123";
char name1[]="1234";
そしてこの結果
The size of name (char[]):4
The size of name1 (char[]):5
のサイズは、なぜか?
char[]
は常にプラス1ですか?
どのように解決するのですか?
コメントでMichaelが指摘したように、文字列はゼロで終端します。ですから、メモリ上では最初の文字列は次のようになります。
"123\0"
ここで
\0
は1文字で、ASCII 値は0です。この場合、上記の文字列はサイズ4となります。
もしこの終端文字がなかったら、どこで文字列(または
char[]
が終了するのでしょうか?まあ、確かに、長さをどこかに保存しておくという方法もあります。そうしている言語もある。Cはそうではない。
関連
-
[解決済み】C言語でpow( )への未定義参照、math.hを含むにもかかわらず【重複】。
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] mallocの結果はキャストするのですか?
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] 配列の最初の要素を取得する
-
[解決済み] 構造体のsizeofは、なぜ各メンバーのsizeofの合計と等しくないのですか?
-
[解決済み] なぜsizeof(x++)はxをインクリメントしないのですか?
-
[解決済み] sizeof'(配列を指すポインタ)を見つけるにはどうしたらいいですか?
-
[解決済み】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コンパイルエラー。"変数サイズのオブジェクトが初期化されていない可能性がある"
-
[解決済み】C言語におけるファイルスコープでの可変長配列の変更
-
[解決済み】エラー:'for'ループの初期宣言はC99モードでしかできない【重複
-
[解決済み】デバッガgdbの使用時に不明な終了シグナルが発生する。
-
[解決済み] clang: error: linker command failed with exit code 1が表示されるのはなぜですか?
-
[解決済み】エラー:イニシャライザー要素がロード時に計算可能でない
-
[解決済み】LinuxのI_PUSHに相当するもの
-
[解決済み】int型配列へのポインタのスカラ・イニシャライザの過剰要素
-
[解決済み】警告:式の結果が未使用の場合
-
[解決済み】Errno: 11, Resource Temporarily Unavailable(リソースが一時的に利用できない