• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語 ポインタと配列)

C言語のポインタと配列の関係について

このQ&Aのポイント
  • C言語のポインタと配列の関係について詳しく説明します。
  • また、このコードの `find = (char*)str;` の部分についても解説します。
  • さらに、`find` の解釈についても説明します。

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

>find = (char*)str; どちらもchar型へのポインタなので、本来は キャストは要らないはずですが、strの方は const修飾子があるので、「変更はできない 領域のポインタ」と解釈されます。 一方、findは「変更可能な領域のポインタ」 なので、同じ領域を指すポインタなのに片方は 変更でき、片方はできないという矛盾を生じ ます。そのためキャストが必要です。 「参照のみ」という意味でconstを付けたものと 思いますが、気休めの意味しかない割りには コンパイラが煩くエラーにするので、外した方が よいと思いますよ。 >findというのは&find[0]という解釈 ご理解の通りです。

CooLNight
質問者

お礼

わかりました、ありがとうございますm(_ _ )m

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

「あとこのfindというのは&find[0]という解釈でいいでしょうか?」ってのは, 何を聞いているんでしょうか? find は find であって, それ以外の何物でもありませんよ. まあ, 「このfind」の「この」がどれなのかわからんのだけど.

すると、全ての回答が全文表示されます。
このQ&Aのポイント
  • モバイルバッテリーが88%までしか充電できない問題について
  • エレコムの薄型コンパクトモバイルバッテリーでAQUOS sense8が充電できない
  • 4Gのarrows Be4では100%充電できていたが、AQUOS sense8では88%までしか充電できない
回答を見る

専門家に質問してみよう