忍者ブログ
ゲームCGを学べる名古屋の専門学校 名古屋工学院専門学校の教員によるブログ。 学校のことからゲーム開発の裏側まで、幅広く書きます。 ゲーム好きには読む価値あり!
2024 . 05
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • ×

    [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

    学生時代、感動した話を今の学生にした。

    「電卓は四則演算(加減乗除) を総て加算器で計算している。
    引き算も、掛け算も、割り算さえ・・・」

    昔、授業でこの話を聞いた時には 「感動」 したものだ。

    だからと言って、今の学生に感動を強要する訳ではない。

    感動する事から興味がわき、勉強するようになるものだ。

    昔の政治家の吉野作造氏の言葉に、学生本来の姿を諭しているものがある。

    「学生の真理探究の態度は多情でなくてはなりません。・・・・・・
    常により正しからんとして、いつでも態度を改めうるように用意していなくてはなりません」

    ◇   ◇   ◇   

    先日、ある学生から次のような質問があった。

        char a[5][10]={"abcde", "fg", "hijk", "lmn", "opqrtuvw"};
        char *b;
        b=a;
        printf("%s\n",b);

    先生、3行目でエラーです!

    そんなハズは無いと思うが・・・、しかしエラーである。

    我々は教科書上でしか判断しないので、若い感性の疑問に驚かされる。
    確かにエラーである。
    一次元配列のアドレスもダメである b=a[0];、 b=&a[0][0]; なども試してみた。
    ポインタ配列 char *a[5]={"abcde",・・・ なら、とやってみた。

    江崎玲於奈先生(ノーベル賞学者)がトンネルダイオードを発見したが、最初は学生の発見からだった事実を思い出した。

    改めて調べてみたが要領を得ない。その時、「ダブルポインタ」なる言葉が、隣の隣の席から聞こえてきた。
    そこで、3行目をキャストしてみたらうまくいった。

        b=(char*)a;  //char **

    理由を紙に書いて、学生に渡した。
    そしたら、その学生から、次のような質問も受けた。

    「4行目、『 printf("%s\n", a+1); 』 にしたらうまくいきますが、
    『 printf("%s\n", a+=1); 』 にするとエラーです?」

    その理由については、学生自身が考えるように少し時間を置いた。

    それにしても、これからが楽しみな授業になりそうである!
    PR
    ぜったいに、絶対じゃないこと HOME 雨上がりの景色
    Copyright © ゲームCG専門学校 名古屋工学院専門学校 All Rights Reserved
    無料ブログ / 不妊対策 / 在宅副業 / 忍者ブログ/[PR]