<p>4 名前:<span>以下、はてなにかわりまして増田がお送りします。</span> 投稿日:2013/02/03 15:47:19</p><div>横だけど、ポインターがわからないプログラマの気持ちがわからない。<br/>ポインタでつまずく人が多いのはなんでなの?コンピュータの仕組みを知らないとか?<br/><br/></div>5 名前:<span>以下、はてなにかわりまして増田がお送りします。</span> 投稿日:2013/02/03 21:13:37<div>»4<br/>ポインターじゃなくてC言語特有の約束事で躓いているだけだと思う<br/>中学時代にC言語を習ったときに<br/><ul><li>関数の引数でint *pとint pは同じ<br/></li><li>*(p+1)とp[1]は同じ</li></ul><br/>と言われたんだが、なぜ同じなのかさっぱりわからなくて苦労した<br/><br/></div>6 名前:<span>以下、はてなにかわりまして増田がお送りします。</span> 投稿日:2013/02/03 22:36:16<div>»5<br/>なるほど、これが別ツリーの人が言ってた「A=B B=C なら A=C を文字に置き換えるとわからない」ということなのかな。<br/><a href="http://anond.hatelabo.jp/20130203160044" target="_blank"></a><a href="http://anond.hatelabo.jp/20130203160044" target="_blank"></a><a href="http://anond.hatelabo.jp/20130203160044" target="_blank"></a><a href="http://anond.hatelabo.jp/20130203160044" target="_blank"></a><a href="http://anond.hatelabo.jp/20130203160044" target="_blank"></a><a href="http://anond.hatelabo.jp/20130203160044" target="_blank"></a><a href="http://anond.hatelabo.jp/20130203160044" target="_blank"></a><a href="http://anond.hatelabo.jp/20130203160044" target="_blank"></a><a href="http://anond.hatelabo.jp/20130203160044" target="_blank"></a><a href="http://anond.hatelabo.jp/20130203160044" target="_blank"></a><a href="http://anond.hatelabo.jp/20130203160044" target="_blank"></a><a href="http://anond.hatelabo.jp/20130203160044" target="_blank"></a><a href="http://anond.hatelabo.jp/20130203160044" target="_blank"></a><a href="http://anond.hatelabo.jp/20130203160044" target="_blank">http://anond.hatelabo.jp/20130203160044</a><br/><br/></div>7 名前:<span>以下、はてなにかわりまして増田がお送りします。</span> 投稿日:2013/02/04 10:02:17<div>»4<br/>今時のパソコンをいきなり与えられた人(普通はそうだけど)は、そもそもポインタなんて機能が何故必要なのか理解できないと思う。<br/>JavaとかPerlとかVBとかは、扱いたいデータを直接切り貼りするだけでプログラムとして成立するし、それで十分なわけで。<br/>そのレベルでコンピュータの仕組みや、メモリの使い方を理解する必要性は、普通は全く感じられないからね。<br/><br/><br/>それにポインタを意識しながらプログラミングするというのは、前述の演算に必要なデータ構造に加えて、メモリ管理上のデータ構造も扱うという、2重のデータ構造を考えないといけない。<br/>これはプログラム初心者には全く想像できない領域だし、そうそう簡単な事じゃないと思うわ。<br/>ましてやC言語の*pとpの交換性が、基本環境依存のデータ型のバイト長をいちいち把握しながらポインタ演算してアクセスなんて面倒でしょうがないから結構必須とか、そもそもポインタ演算を使いこなせればハードのリソースをビット単位で搾り取れて、それをアセンブラよりはシンプルかつ抽象的に実装できるC言語は非常に効率がいいとか、まず理解不能でしょ。<br/>そんなことが必要な分野が世の中にはあるという現実すら知らないだろうし。<br/><br/><br/>尤もマイコンキットから入って「メモリにデータをロードして、そのデータのメモリ上の格納場所がCPUから分かるように(ry」というアプローチなら、ポインタを使う以外に方法が無いので嫌でも覚えるだろうけど。<br/><br/></div>8 名前:<span>以下、はてなにかわりまして増田がお送りします。</span> 投稿日:2013/02/04 10:30:32<div>»7<br/>その通り。<br/>俺もC言語のポインタで躓いたクチだけど、翌年Z80のアセンブリを習ったらあっさり理解できて、<br/>「ポインタとかマジ糞だわー*のせいでエラー出まくりだわーマジ死ねよ*」が<br/>アセンブリ習った後は「ポインタって番地が入ってるやつでしょ? 16進の数字を直にいじらなくていいから楽だわー」となった。<br/>メモリのアドレスがどうこうってのは、具体的に触れてみないと分からないものだよ、やっぱり。<br/></div> — <a href="http://masuda.livedoor.biz/archives/51873319.html" target="_blank">プログラムが書けない人の気持ち</a> (via <a class="tumblr_blog" href="http://mcsgsym.tumblr.com/" target="_blank">mcsgsym</a>)