パスワードを忘れた? アカウント作成
22266 journal

cyber205の日記: 入れ物を用意せずに中身を入れる暴挙 2

日記 by cyber205

wakatono様のmixi日記を見ていて発見した記事なのだけど、元はyendot経由で拾ったネタだとか。
wakatono氏の戯れメモに詳細が載っている。

ポインタを定義して、実際に記憶領域を割り当てないまま、いきなり数値を代入するという暴挙をやっている。
C/C++のイロハというZDNetの記事らしいが、鵜呑みにしたらマトモに動かないプログラムを書いてしまうことは確実。

さらに配列のこともよく分かってらっしゃらないようで、とてつもなく前提を間違えたまま話は進む…。

よくこんな入門記事が校正を通ったものだ。
C級出版でもここまで凄い誤植は…あったかもしれないけど。頭が痛くなるような記事ですよもう。

[あまりにアレゲなのでアレたま行きにしておきます]

P.S
しっかりオモテの話題になりましたか。
コンピュータのメモリを簡単に操作できる「ポインタ」ってのはプログラミングにおいて「劇薬」だと思ってます。
それこそ、使いどころを間違えると大変なことになるわけですから。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by nox_dot (11614) on 2008年04月02日 23時34分 (#1324032) 日記
    機械語(やアセンブラ)から始めた人にとってはポインタは理解しやすいでしょうけど、高級言語には不向きな概念ですよね。
    とはいえ、見た目がわかりにくい参照渡しも結構くせ者ですよね。
    JavaScriptのfunctionの引数が、配列やオブジェクトは自動的に参照渡しになることを知らなくて、だいぶ悩みました。
    • C言語自体、もともとは「高級アセンブラ」みたいなもんでしたからね。
      自分はマシン語は知っていたものの、C言語でポインタを操作する書き方に戸惑ってなかなか理解できず悩みました。
      これはZ80とかの低機能なマイコンしか知らなかったのも原因かもしれませんね。強力なコード体系の68000とは
      縁の無い世界にいましたし、x86のマシン語を理解するのは諦めてましたので。
      # 16ビット機はPC-9801 + MS-DOS + TurboC(Ver1.5)ではじめてプログラムしました。

      自分ではいじってみたことが無いのでよく知らないのですが、
      参照渡しって「Javaにもポインタが隠れて使われている」というアレのことかな。
      いじる必要が出てきたら気をつけることにします。
      親コメント
typodupeerror

にわかな奴ほど語りたがる -- あるハッカー

読み込み中...