C言語基礎:構造体とポインタ(リスト構造)

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ต.ค. 2024
  • 構造体をポインタでアクセスできるアロー演算子を学びます。また、ポインタを使った構造体の利用の例として、リスト構造を学びます。リスト構造の追加、削除の演習を行います。

ความคิดเห็น • 8

  • @noirened
    @noirened 3 ปีที่แล้ว +5

    こういうのが無料で見れる時代に生まれて良かった〜 わかりやすい講義感謝します

  • @toshi5613
    @toshi5613 3 ปีที่แล้ว +3

    難しい概念を解りやすく説明してくれて、とても助かります。

  • @mintjos2333
    @mintjos2333 2 ปีที่แล้ว +1

    平田先生のアルゴの本を勉強してるものです。とてもわかりやすい動画で大変助かっています

  • @FR030523
    @FR030523 2 ปีที่แล้ว

    complex_t c;
    なので、cのメンバ変数へのアクセスを考えると、
    c->re=1.0;
    c->im=2.0;
    とするのかなと思いましたが、c->reだと、何が間違っているか教えてもらえないでしょうか。
    ポインタを見ると、確かにcp->re=1.0
    なのかなと感覚的に思いますが、いまいち理解しきれていません。

    • @taraiopuc_gfe
      @taraiopuc_gfe ปีที่แล้ว +2

      アロー演算子(->) は『構造体を指すポインタ型』に対して使うものです。c の型は実質『構造体』なので直接参照しますからドット演算子(.)を使って c.re とします。一方 complex_t c; complex_t *cp; cp=&c なので、cpは 構造体を指すポインタ型 です。cp はポインタ型なのでメンバ変数を持ちませんから、直接参照する . を使って cp.re とは書けません。cpが指している(->)構造体のメンバ変数(re)にアクセスしたい、ということで cp->re と書くか、cpが指している構造体(*cp)のメンバ変数(re)にアクセスしたい、ということで (*cp).re と書く、というわけです。c.re と cp->re あるいは (*cp).re が同じ扱いになるのは、cp=&c; としてcp が c を指すようにしているからです。

  • @Arsche
    @Arsche 11 หลายเดือนก่อน

    どんな言語も無料であるべきだよね

  • @Arsche
    @Arsche 11 หลายเดือนก่อน

    NECはCをうん十万円で売ろうとして、破滅的な事態になったと思っている

  • @Arsche
    @Arsche 11 หลายเดือนก่อน

    cp/m 触ったことがあって、Pascalでして、Cなんて、うん十万円で売られてた時代があった。いまや、ただ、だけど。。