配列がポインタに減衰する例外?
2023-09-11 11:33:57
質問
多くの投稿で、"ほとんどの場合、配列名はポインタに崩壊する"と書かれているのを見ました。
私はどのようなケース/式で配列名がその最初の要素へのポインタに減衰しないかを知ることができますか?
どのように解決するのですか?
もちろんです。
C99では、次の3つの基本的なケースがあります。
-
の引数であるとき
&
(address-of)演算子で指定します。 -
の引数であるとき、それが
sizeof
演算子を使用します。 -
型の文字列リテラルであるとき
char [N + 1]
またはワイド文字列リテラルでwchar_t [N + 1]
(N
は文字列の長さ) のように、配列を初期化するために使用されます。char str[] = "foo";
またはwchar_t wstr[] = L"foo";
.
さらに、C11では、新しく導入された
alignof
演算子もその配列の引数をポインタに減衰させません。
C++では、参照渡しされる場合など、追加のルールがあります。
関連
-
C/C++の再定義
-
[解決済み] Linux Socket write() によるBad File Descriptor C
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] 新しい配列を作成せずに、既存のJavaScript配列を別の配列で拡張する方法
-
[解決済み] Javaで配列をリストに変換する
-
[解決済み] 配列をチャンクに分割する
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
構造体の配列--[エラー] '['トークンの前に一次式があることが予想される
-
Solve Dev-c++ [エラー] 'for' ループの初期宣言は、C99 または C11 モードでのみ許可されます。
-
[解決済み] Valgrind が初期化されていないバイトについて警告する
-
[解決済み] stdinとSTDIN_FILENOの違いは何ですか?
-
[解決済み] C関数から文字列を返す
-
[解決済み] C言語で関数型プログラミングを行うためのツールにはどのようなものがありますか?
-
[解決済み] プログラム終了前にmallocの後にfreeをしないと本当に何が起こるのか?
-
[解決済み] char s[]とchar *sの違いは何ですか?
-
[解決済み] なぜ16進数には0xがつくのですか?
-
[解決済み] 配列からポインタへの減衰とは何ですか?