【C言語】ポインタがわかりません。教えてください。【プログラミング】

Sdílet
Vložit
  • čas přidán 7. 09. 2024
  • ポインタを可視化してみた。
    「ポインタ渡し」の解説です。
    キーワード
     アドレス 矢印 番地
    --------- 目次 ---------
    0:00 オープニング
    0:00
    0:00
    0:00
    0:00
    0:00 エンディング
    -----------------------------
    ▼ Twitter
    / musemyuzu
    ▼ TikTok
    vt.tiktok.com/...
    ◇ ゆっくり素材 きつねゆっくり
    www.nicotalk.co...
    #ポインタ
    #c言語
    #C++
    #関数
    #わかりやすい

Komentáře • 31

  • @user-kb3hu2ph2v
    @user-kb3hu2ph2v Před rokem +6

    すごくよくわかりました!こうやって、動画で可視化していただくと、自分の頭の中でしなくてはならないことを動画の中でやっていただけているので理解も早いですね!

    • @it_muse
      @it_muse  Před rokem +1

      視覚情報にすると記憶にも残りやすいですよね

  • @alucrux
    @alucrux Před 2 lety +8

    Cはどんな時もポインタ使う時は記号使わないといけなかったけど、C++になると参照とかいう便利なものが登場して記号で混乱しなくて良くなったから革命的だよなあ

    • @it_muse
      @it_muse  Před 2 lety +1

      見やすくて便利ですよね。

  • @chochomaru_maru
    @chochomaru_maru Před 2 lety +9

    ポインタのポインタが出てくると更に頭がおかしくなるやつ

    • @clover331
      @clover331 Před rokem +1

      更にポインタのポインタのポインタが出てくると、、、

  • @MadTakotarou
    @MadTakotarou Před 11 měsíci +2

    本にはメモリの番地が難しく書かれてて逆に
    訳が分からなくなって諦めましたw

    • @it_muse
      @it_muse  Před 11 měsíci

      厳密に書かれすぎていると、理解しづらいですね

  • @Arsche
    @Arsche Před 2 měsíci

    ポインタってとある型のインスタンスが存在することが確定されているとき、そのインスタンスを指し示す。
    1を足せば、その足し算が許容されている限りにおいて、あるべき値が存在すべきアドレスを示す。
    これでいい?

  • @itmya4529
    @itmya4529 Před 9 měsíci +1

    分かりやすかったからチャンネル登録しました

    • @it_muse
      @it_muse  Před 9 měsíci

      ありがとうございます!

  • @panpa-
    @panpa- Před 4 měsíci

    アスタリスクがなんで付いてるかわからなかったけどポインタのだったか、

  • @user-zq1pr2ug5g
    @user-zq1pr2ug5g Před 8 měsíci

    わかりやすい

  • @MeSoMush
    @MeSoMush Před 2 lety +4

    アドレスレジスタとデータレジスタって感じでアセンブラ書いてた頃の方が分かり易いよね(でも手間かかるけどねw)

  • @user-zj1rl5ze4s
    @user-zj1rl5ze4s Před rokem

    今ちょっとC言語書いてたので助かりました!!ありがとうございます!!!

  • @user-xu2vt8ew5y
    @user-xu2vt8ew5y Před 8 měsíci

    排他的論理OR 使えばテンポラリ変数使わなくてもスワップできますね。
    (引き算だけで同様にできたと思うけど)

  • @user-um1bt6uq3k
    @user-um1bt6uq3k Před 5 měsíci

    先頭アドレスとポインタの違いがわからないので教えてください

    • @it_muse
      @it_muse  Před 5 měsíci +1

      先頭アドレス…あるデータ構造(例えば配列)の最初の要素を指し示すアドレス
      ポインタ…アドレスを保存するために使用される変数
      つまり、先頭アドレスは特定の位置のアドレスであり、ポインタはそのようなアドレスを保持するための変数です。

  • @Arsche
    @Arsche Před 2 měsíci

    むしろ、配列のイメージなの?

  • @Arsche
    @Arsche Před 10 měsíci +8

    ポインタに1を足す意味がわからない。

    • @kazuselen
      @kazuselen Před měsícem +1

      ポインタが示すアドレスよりもポインタの元の変数の種類で1つ分後ろのアドレスを参照するといった処理がしたいときにやるやつかな?

    • @Arsche
      @Arsche Před měsícem +1

      @@kazuselen そこになにもなかったら、どうなんの?

    • @kazuselen
      @kazuselen Před měsícem

      @@Arsche 初期化されてない場合何が入ってるかはわからないとしか……

    • @nakamura_hipopotas
      @nakamura_hipopotas Před měsícem

      @@Arsche言葉遣い改めろあとggrks

  • @sollalice_JP
    @sollalice_JP Před 2 lety

    実数渡しと参照渡しかしら。

    • @it_muse
      @it_muse  Před 2 lety +1

      参照渡しじゃなくて、ポインタ渡しだと思います!(参照渡しはまだあまり理解してないです…)

  • @clover331
    @clover331 Před rokem

    プログラムカウンターに少し似てる

  • @Sharpest-Madman
    @Sharpest-Madman Před rokem

    これで、参照渡し的な、値渡しを表現しました。
    #include
    int dast(int x, int y)
    {
    int temp;
    temp = x;
    x = y;
    y = temp;
    return x;
    }
    int dast1(int x, int y)
    {
    int temp;
    temp = x;
    x = y;
    y = temp;
    return y;
    }
    int main(void)
    {
    int a,b;
    scanf("%d %d", &a, &b);
    dast(a, b);
    printf("%d %d", a, b);
    printf("%d",dast(a,b));
    printf("%d", dast1(a, b));
    return 0;
    }
    関数内でのみ有効である証明?といいますか。