私は多くの記事で、 "配列名がポインタに崩壊するケースの大部分"を見てきました。
配列名が最初の要素へのポインタに崩壊しないケース/式を知ることができますか?配列への例外は、ポインタに崩壊しないか?
答えて
C99では
、すなわち3つの基本的な例がある:それは
&
(アドレスの)演算子の引数があります。これは
sizeof
演算子の引数です。それはタイプ
char [N + 1]
又はchar str[] = "foo";
又はwchar_t wstr[] = L"foo";
のように、配列を初期化するために使用されるタイプwchar_t [N + 1]
のリテラルワイド文字列(N
は、文字列の長さ)のリテラル文字列です。
また、C11で、新たに導入されたalignof
オペレータは、いずれかのポインタにその配列引数減衰をさせません。
C++には、参照渡しなどの追加規則があります。
申し訳ありませんが、第3のケースをより明確に説明できますか?私は文字列のメモリ位置を参照するために使用された3番目のケースの* str *ではないことを意味しますか?それでポインタが再び? –
@TheJokerいいえ、それは 'const char * str_ptr =" literal ";'になります。私の例では、 'str'は配列として宣言されているので、**は**配列です。 –
@GrijeshChauhanありがとう:) –
- 1. 崩壊3列
- 2. C:配列へのポインタと破壊的な並べ替え
- 3. Tの配列がTへのポインタに崩壊したら、再びTの配列にすることはできますか?
- 4. ナビゲーションバーが崩壊しない
- 5. Bootsrap 3.崩壊しない
- 6. PHP配列個別要素崩壊
- 7. ブートストラップ「パネル崩壊」「崩壊」がオンラインで動作しない
- 8. ポインタへのポインタ配列
- 9. リアクションクリック後にモバイルナビゲーションが崩壊しない
- 10. 配列へのポインタへのポインタのキャスト
- 11. 配列へのポインタへのポインタ
- 12. 各ポインタが配列を指しているポインタの配列へのポインタ
- 13. 配列へのポインタ
- 14. 私のnavbarトグルが崩壊しない
- 15. モバイルブートストラップナビバーボタンが崩壊していない
- 16. 崩壊日は
- 17. 私は私のプロジェクトでは、ブートストラップ崩壊を使用していたブートストラップ崩壊
- 18. 配列アイテムへのポインタは、文字配列へのポインタを介して一般的にアクセスしますか?
- 19. なぜこれはhtmlで崩壊しないのですか
- 20. スクロールでAppBarLayoutが崩壊しない
- 21. ブートストラップナビバー崩壊ボタンが機能しない
- 22. スマートフォンでブートストラップNavbarが崩壊しない
- 23. なぜ余白が崩壊していないのですか?
- 24. キャプチャしていないジェネリックlambdaは関数ポインタに崩壊する必要がありますか?
- 25. 崩壊のフィールドセット
- 26. ブートストラップボタングループの崩壊
- 27. なぜローカルメモリを指しているポインタを返すことが崩壊しないのですか?
- 28. 配列ポインタの要素へのポインタ
- 29. 崩壊で崩壊しても動作しません
- 30. cの配列へのポインタ
さらに詳しい情報が必要です:特定の言語で作業していますか?例がありますか? – abiessu
はC言語を考慮する。そして、私は配列名がポインタに崩壊しない例を探しています。 –
@ TheJoker私はこのケースを示している[ここで答え](http://stackoverflow.com/questions/15177420/what-does-sizeofarr-return/15177499#15177499) –