[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 11:29 / Filesize : 188 KB / Number-of Response : 978
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

この会社辞めようと思ったソースコード#15



148 名前:仕様書無しさん mailto:sage [2006/12/29(金) 21:42:35 ]
>>144
原因:アセンブリとCを配列が扱える程度までやらせて、下の文章を見せる。

--以下某書籍より引用--

COLUMN-4 p[i]って配列?

出来の良くないC言語の教科書では、p[i]はpという配列のi番目の要素であるとか、なんかそん
なことが書いてあると思います。それは間違ってはいないかもしれませんが、結局ただのごまか
しです。読者がアセンブラを理解していない場合は、そうやってごまかして説明するのが一番ラ
クなのです。

p[i]というのは*(p+i)と完全に々意味で、長く書くのがめんどうな場合や、見た目の都合の
ために使うものです。この例の場合は、「*(p+i)」と書くと6文字ですが、「p[i]」なら4文字なので
す。それだけのことなので、好きなほうを使えばいいのです。ポインタを使いつつ「配列っぽく
みせつらめ」の、省略表記でしかありません。

逆にp[0]と書く代わりに*pと書いても同じなのですから、こっちのほうが2文字減るわけです。
まあ状況に合わせて好きなほうを使えばいいだけです。

書き方を変えたら、ポインタが配列になったとか、そんなことじゃないです。変な教科書にだま
されないでください。コンパイルの結果で生成される機械語も、完全に同じになります。意味の
変化がなく、単に書き方の違いでしかないという何よりの証拠です。

--次レスに続く--






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<188KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef