(*p).karteと*p.karteはどう違うのですか?
C言語 No Comments »まず、メンバ演算子(.)の方が*よりも優先されます。*p.karteは、*(p.karte)という意味になります。メンバ演算子の.は、左側にアドレスではなく値がこなければならないので、p.karteという表現は文法として間違いということになります。したがって、*(p.karte)も文法エラーとなります。
まず、メンバ演算子(.)の方が*よりも優先されます。*p.karteは、*(p.karte)という意味になります。メンバ演算子の.は、左側にアドレスではなく値がこなければならないので、p.karteという表現は文法として間違いということになります。したがって、*(p.karte)も文法エラーとなります。
ポインタは「主記憶装置のアドレスを格納する変数」だと理解しておきましょう。
コツは、主記憶装置のアドレスを指定いるのか、アドレスの指定する「値」を参照するのかの違いを見極めましょう。
int *p;
p ポインタが格納しているアドレスのこと
*p アドレスの指定する「値」を参照する
自分が主記憶装置のイメージを描いて、これはアドレスか、アドレスが参照する値かを考えてみるのが近道だと思います。図やイメージがとても重要です。
私も夏休み中に、東京までいって10万円のセミナーを受けてきました。当分、インスタントラーメンに野菜を入れた生活が続きそうです・・・。
なかなかエアコンの設定は難しいですね。25度に設定していたと思うのですが。。。でも寒いくらいの方が寝なくていいですよ。
レクサスはトヨタの最高級車ですので、一種のステータスシンボルなんでしょう。たぶん、マークをつけたがる人は、将来レクサスに乗りたいので、今だけでもレクサス気分を味わっているんだと思います。(私の勝手な見解)
すべてを覚える方法はありません。構造体のポインタでも、(*p).karteというような形式は試験に出てきません。p->karteの表現がほとんどです。これは問題を解きながら、問題で使われている表現に慣れていくのがいいでしょう。
二重ポインタですね。試験に出題されることもあります。C言語も出題範囲が明確には決まっていないので可能性はあります。ただ、過去問題を見ると出題される確率は高くないですね。
遅刻してしまったことはしょうがいないです。遅刻した部分をどう取り返すか?それが重要です。そして、遅刻しないためにどうすればいいのか考えましょう!
最初は難しく感じるかもしれませんが、最初に仕組みを理解すると後で応用がききます。基本をしっかりと抑えましょう!