C言語で最も挫折しやすいポイントがプログラミング初心者キラーである「ポインタ」でしょう。
ポインタをしっかり理解するのはかなり難しいであるにも関わらず、入門書ではかなり早い段階で登場します。
ポインタはあらゆる場面で使用するため入門レベルの書籍でも早い段階で登場してしまうのですが、ポインタが原因で挫折してしまう人も少なくありません。
C言語・C++プログラミングができる現役プログラマに「C言語の勉強で挫折しやすいポイントは?」と聞いてみると、ほとんどの方が「ポインタ」と答えるでしょう。
ポインタだけを解説した参考書が出版されるくらい奥深いものとなっていますので、C言語をマスターしたいならポインタの扱いを極めることを避けて通れません。
#include<stdio.h>
#include <stdlib.h>
void swap(int* a, int** p) {
int c = *a;
*a = (**p);
**p = c;
}
int main()
{
void (*f)(int*, int**) = swap;
int a = 10;
int* b = (int*)malloc(sizeof(int));
*b = (a * 2);
f(&a, &b);
free(b);
return 0;
}
このようなプログラム、ポインタを完全に理解している人なら全然読めるはずですが、わからない方からすると一体何をやってるのか全く分かりませんよね?
分かる人は、読めるけど見たくもない劣悪なプログラムということがわかるはずです。
そこで、C言語のポインタの習得に役立つおすすめの参考書を紹介しますので、
- ポインタで躓いていまにも挫折してしまいそうな方
- なんとなくでポインタを使っている方
- わかるけどわからない、曖昧な理解を正したい方
いずれかに当てはまる方はここで紹介しているポインタ入門書を読んでみてください。
おすすめのC言語(ポインタ)参考書
初心者向け:スッキリわかるC言語入門
おすすめ度 | ★★★★★ |
---|---|
対象読者 | C言語プログラミング初心者 (ポイントが全くわからないレベル) |
内容 | C言語基礎レベル |
C言語プログラミング全般を扱う入門書ではありますが、その中にあるポインタの解説がとてもわかりやすいためおすすめです。
ポインタ学習のためだけに購入するのも悪くありません。
ポインタと関連性がある文字列の扱いについても詳しく解説されていますので、C言語プログラミングを始めたばかりでポインタなんてちんぷんかんぷんという方は読んでみてください。
Kindle版もあるので、Kindleアプリをインストールすればどこでも読めます。
中級者向け:詳説 Cポインタ
おすすめ度 | ★★★★☆ |
---|---|
対象読者 | C言語入門書が物足りないと感じる方(中級者) |
内容 | ポインタのみ! |
オライリーは現役プログラマならほとんどの人が知っているであろうオライリーブランドの参考書です。
プログラミングを始めたばかりの初心者向けの書籍が少ないですが、ある程度プログラミングスキルがついてきたから向けの書籍がたくさん用意されており、「詳説 Cポインタ」もその一冊です。
Cポインタをマスターするだけでならこの書籍一冊で十分なくらいボリュームが大きいので、入門書を購入するレベルではないけどポインタをあまり理解できていないという方はぜひ読んでみてください。
関数ポインタなどの難しいポインタを扱うスキルも身につくはずです。
初心者卒業したい方向け:C言語 ポインタ完全制覇
おすすめ度 | ★★★★★ |
---|---|
対象読者 | あまり理解していないけど、 ポインタを使ったカンタンなプログラムを作成できる |
内容 | ポインタ(初級~中級レベル) |
ポイントは少し使えるようになったけどまだまだ力不足、関数ポインタなんて全くわからない・今はじめて聞いたという方向けのポインタ特化の参考書です。
ポインタでつまづきやすい、つまづくどころかそのまま折れて退場してしまいやすい点もしっかり抑えられているので、ポインタに対する理解も深められるでしょう。
現役C言語プログラマであっても、理解が曖昧な方にはとても参考になる一冊です。
一度読んでみると今まで曖昧だった部分がわかるようになって、さらに複雑でキレイなプログラムを書けるようになるかもしれません。
上級者向け:エキスパートCプログラミング
おすすめ度 | ★★★★☆ |
---|---|
対象読者 | スラスラプログラミングできるレベル |
内容 | C言語応用(上級レベル) |
とにかくC言語をマスターしたいならぜひ読破したい一冊です。
決して初心者向けではなくC言語プログラムをスラスラ書ける方向けの内容ですので、初心者が手を出すものではありません。ポインタを少し使えるという方も途中で挫折してしまうでしょう。
また、名著であるにも関わらず復刊されていないからか、価格がかなり高騰しています。高騰しているということは需要があり、非常に読み応えがあって役立つということです。
ただし、本のタイトルにエキスパートと書かれているように、多少C言語を学んだ程度では全く理解できないので、初心者は手を出さないようにしましょう。
初心者なら「スッキリわかるC言語入門」を手に取ろう!
C言語の勉強を始めたばかりで今にも挫折しそうであれば、最初に紹介した「スッキリわかるC言語入門」を読むといいでしょう。
ほかにも「明解C言語」や「苦しんで覚えるC言語」など評判の良い入門書はたくさんありますが、ポインタで挫折してしまう可能性のことを考えると「スッキリわかるC言語入門」が一番読み進めやすいです。
はじめは曖昧でもいい(ポイントの理解が曖昧な現役プログラマはたくさんいます)ので、まずはポインタを使ってかんたんなプログラムが書けるようになるところから始めてみてください。