ポインタが、よく、わからなかった。ぼくらは九大では、Pascalでプログラミング教育を受けた最初の世代ですが、Pascalポインタに比べ、なんでこんな汚いものがあるんだと。アセンブラでプログラミングするようになると、Pascalのポインタって、なんでアドレスを直接いじり回せないのか。それに比べ、Cのポインタって、めっちゃ便利やん。\(^O^)/そんな私だが、今回、本書を読んで、30年の月日を感じる。入門書なのに、OpenGLを使ってゲームまで作るんだよ。おれが普通に想像していた入門書は、せいぜい、コマンドラインで、テキストの出力くらいかと思っていた。Cといえば、理解が難しいというので、多くの挫折者が出るとよくいわれるのが、ポインタ。ポインタの話は、割と後ろの方、言語要素の個別解説の最後にあって、割とあっさりと説明してある。ポインタをちゃんとわかろうと思うと、やはり、コンピュータのアーキテクチャなどハードウェア寄りの話がわかってないと難しいかもね。水準アセンブラといわれるだけはあると思ったから。本格的にゲームを作り始める。変数のスコープ(scope)の話では、エクステント(extent)の話もあったほうが、今後のことを考えるとよかったかもしれない。スコープは、変数がみえる範囲、空間的な範囲。存期間、時間的な範囲。クロージャが参照する変数は、有限スコープで無限エクステントなどなど。それから、最近のセキュリティ重視の流れを受けてのことだろう。バッファーオーバーラン(バッファーオーバーフロー)の話が、セキュリティホールの話とともに出てくる。strcatを使うべきではない。全部、strncpy,strncatで押し通すべき。strncatにしろとさえ思う。Cのような低水準で、そしてセキュリティ意識の低い、スキルが低い連中が使うには危険な言語を使わせるなら、最初からバッファの長さを意識させることは、とても重要と思う。練習問題は、よく吟味してあると思った。ほどよいレベルに感じる。博(理)伊藤祥一/著をどうぞ。練習問題の解答まであるのね。