fc2ブログ

C言語のポインタ

nocchi*

2014-01-14
C/C++
2 COMMENTS
C言語を始めて誰もがつまづき多くの人を挫折させてしまうのがポインタの概念です。


私は専門学校でゲームプログラミングを習っていました。
このポインタってやつは難しくてしかも何の為に覚えなきゃならないのか分かりませんでした。

ちょうどその辺りの時に先輩からキャラクタにマリオのようなジャンプをさせるアルゴリズムを教えてもらいました。私はマリオのようなアクションゲームを作りたかったのでポインタなんか使えなくても良いからとにかくゲームを作ろうと思って関数や配列の使い方もおぼつかない時期からアクションゲームを作り始めました。

作り込むにつれソースコードはどんどん長くなり管理しにくいものになっていきました。
そうして作ったプログラミングは後から見直すと同じような処理を何度もコピペしてできたソースコードになっていました。

同じような処理はまとめて書きたいと思うようになり関数や配列の使い方を工夫してポインタもよく分からないけど使っているうちにその利用価値がだんだん分かってきて概念も知りたくなりそこでやっと真面目に勉強しました。


入門書の真ん中くらいででてくるポインタは関数や配列と同じくらい重要な技術で、以降の解説に必要になるからでてくるのですが入門書の真ん中ででてくる程度の規模のサンプルプログラムではほとんど利用価値が無いです。

文法だけなんとなく頭に入れてとりあえず作りたいプログラムを作り始めてもっと手短に汎用的に書きたくなったらその時にポインタを覚える。

プログラミングは実際に書いてビルド&実行して確かめるっていうのが一番手っ取り早い事が多々あります。
何か作りたいものがあれば作ってみるのも良いし、そういうのが決まって無ければ実践的で実用的な課題を用意するのも良いかもしれません。

Comments 2

There are no comments yet.

aska

私も学生時代と新入社員時代はポインタが理解できなくて、
結局実践で必要になった時にようやく覚えることができましたw
ポインタは...大事だけどホント覚え方に困りますね...

2014/01/14 (Tue) 18:43

nocchi*

Re: タイトルなし

> askaさん

やはりある程度の大きさと実用性のあるソースコードでないとポインタを使う真意が見えてこないです。
教える方も教える事が難しくて結局入門書を自分でやっておくようにとかになって
理解できないまま現場に送り込まれてしまうってパターンが多いみたいです。
そこで諦めてしまう人も多いので乗り越えられた事は素晴らしいです。

2014/01/15 (Wed) 23:43