- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポインターがさっぱりです><)
C言語初心者がポインターについて質問です
このQ&Aのポイント
- C言語歴約2週間の初心者ですが、ポインターについてさっぱり分かりません。
- 具体的には、CMediaPlayer * pme = (CMediaPlayer *)pi; の部分や、(IApplet**)ppObj の部分の意味が分かりません。
- さらに、void ** ppObj の部分がカッコなしで書かれている理由も分かりません。お知恵をお貸しください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>(1)CMediaPlayer * pme = (CMediaPlayer *)pi; > >pmeは、CMediaPlayer型のアドレスを入れる変数だと思うのですが、 >正しいでしょうか? 正しいです。 >CMediaPlayer *pme > >のようにくっつけて書いてないのでしょうか? くっつけてもくっつけなくても、同じ意味です。 どちらでもかまいません。 >(CMediaPlayer *)piは、一体何なのでしょう? pi という、おそらくは CMediaPlayer * 型以外の型を持つ変数を、 CMediaPlayer *型に「キャスト」しています。 何か参考書をお持ちであったり、インターネットを使って勉強されているのでしたら、 「キャスト」の項を読むなりググるなりしてみてください。 >**が2つあり、 >これは何なのでしょう? 「ポインターへのポインター」を表わします。 >ここの、void ** ppObjの部分は、 >(2)と似ていますが、 >何故カッコがないのでしょうか? キャストではないからです。 ppObj は、任意の型へのポインターへのポインターです。
お礼
うわあああ、素早い回答助かります。 よく分かりました! もってる参考書で、キャスト調べたら、 明示的な型変換ってことなんですね、ふむふむ… 頭がすっきりしました、ありがとうございます!!!