- 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文字減るわけです。 まあ状況に合わせて好きなほうを使えばいいだけです。 書き方を変えたら、ポインタが配列になったとか、そんなことじゃないです。変な教科書にだま されないでください。コンパイルの結果で生成される機械語も、完全に同じになります。意味の 変化がなく、単に書き方の違いでしかないという何よりの証拠です。 --次レスに続く--
|

|