[解決済み] char s[]とchar *sの違いは何ですか?
2022-03-18 07:46:07
質問
C言語では、次のような宣言で文字列リテラルを使用することができます。
char s[] = "hello";
とか、こんな感じです。
char *s = "hello";
では、その違いは何なのでしょうか?コンパイル時と実行時の両方で、ストレージの持続時間について実際に何が起こっているのか知りたいのです。
どのように解決するのか?
ここでの違いは
char *s = "Hello world";
を配置します。
"Hello world"
の中に
メモリの読み取り専用部分
とし
s
へのポインタは、このメモリへの書き込み操作を違法とします。
しながら。
char s[] = "Hello world";
は、リテラル文字列を読み取り専用メモリに置き、その文字列をスタック上の新しく割り当てられたメモリにコピーします。このように
s[0] = 'J';
を合法化します。
関連
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] YAML の文字列を複数行に渡って分割するには?
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] constexpr` と `const` の相違点
-
[解決済み] C言語でファイルサイズを取得するには?[重複]する
-
[解決済み】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 構造体定義エラー: '['トークンの前に一次式があることが予想される
-
error: '.' トークンの前にunqualified-idを指定する必要があります。
-
ポインタ定数および定数ポインタ
-
[解決済み] Code::Blocks アプリケーションをコンパイルできない
-
[解決済み] char *とchar[]の違い [重複]
-
[解決済み] "static const" vs "#define" vs "enum"
-
[解決済み] 難読化Cコードコンテスト2006。sykes2.cの解説をお願いします。
-
[解決済み] while ( !feof (file) ) 」は、なぜいつも間違っているのですか?
-
[解決済み] .aファイル、.soファイルとは何ですか?
-
[解決済み] LD_PRELOADのトリックとは何ですか?