見出し画像

C言語の初歩かぁ - 日経ソフトウエア 2024年 5 月号

久しぶりに本屋を覗いてみたら、何やら面白そうな雑誌が出ていました。まあ本誌のPythonの方も興味があるのですが「C言語の初歩」なんてオマケがついています。今年も後期にはC言語を教えることが決まったので、ちょっと読んでみるかと買ってみました。

日経ソフトウエア 2024年 5 月号

5日で学ぶというだけあって、実に簡潔にまとめられています。

  1. 開発環境の導入

  2. 変数と制御文

  3. 配列と文字列

  4. 関数

  5. ポインタ

はい、これだけです(106ページ)。う~ん、ポインタが最後に登場して、これで終わり???いや、それではC言語わからんでしょ。ポインタから先がC言語の醍醐味であってヤバいところなんですから。

説明は初心者でもわかりやすい会話形式なんですが、実際に手を動かしてみると、いろいろな理由で出てくるエラーメッセージをどう理解して修正するか、エラーにもならず意図しない動作をした時に、どこを確認すれば良いのかがわかるようにならないと、書いてあるものを正確にコピペすることしかできるようになりませんって。

まあ初歩ということで簡潔にまとめるとここまでなのかなぁ。ここまでを覚えるのであれば先に他の言語を覚えたほうが良さそうです。もう少しエラーも丁寧に出るし。自分の場合はC言語を覚えるまでに既に多くのプログラミング言語を覚えていたので、どこで詰まるかはちょっと経験が足りないのです。構造体辺りまではスムーズに済んでしまって、最初にハマったのは配列とポインタ(というか定数と変数、定数はコピーすると変数になる)、ヒープに確保したメモリの管理と型キャスト(メモリアライメント周り)、それに符号付きと符号なしの微妙な取り扱い(優先度とシフト演算子)といったところからだった記憶があります。いきなり上級編だったのかもしれません。

C言語教室のきっかけになったのも、関数呼び出しの際にコピーされる引き数の意味あたりから始まったような気もするので、決まり切った構文まではスキップしていたかも。

C言語教室

さて、後期までは間があるのでC言語教室も再開したいなぁとは思っています。ただおウチの教室の方は長男くんは就職しコードを書くのが本職(ITでは無い)になってしまいましたし(それに一人暮らしになりました)、次男くんは大学でC言語以外に覚えることがたくさんありそうで時間が取れそうにありません。まあ、ここだけで再開するのでも良いのかも。ということでペースはかなりゆっくりかもしれません。ファイル操作、ネットワークプログラミング、並行処理なんかを取り上げたいです。

もっとも本当はC++であるとかRustも覚え直すためにも、何か書いてみたいなぁとは思っているのです。気がつけばC++は、かなり新しくなっていて、ついていけません。まあ気が向くままにノンビリと進めますかね。

C言語

ヘッダ画像は、以下のものを使わせていただきました。
https://commons.wikimedia.org/wiki/File:The_C_Programming_Language_logo.svg
By Rezonansowy - This file was derived from: The C Programming Language, First Edition Cover (2).svg, Public Domain, https://commons.wikimedia.org/w/index.php?curid=29423032

この記事が気に入ったらサポートをしてみませんか?