何となく Blog by Jitta
Microsoft .NET 考

目次

Blog 利用状況
  • 投稿数 - 720
  • 記事 - 18
  • コメント - 2684
  • トラックバック - 217
ニュース
  • IE7以前では、表示がおかしい。div の解釈に問題があるようだ。
    IE8の場合は、「互換」表示を OFF にしてください。
  • 検索エンジンで来られた方へ:
    お望みの情報は見つかりましたか? よろしければ、コメント欄にどのような情報を探していたのか、ご記入ください。
It's ME!
  • はなおか じった
  • 世界遺産の近くに住んでます。
  • Microsoft MVP for Visual Developer ASP/ASP.NET 10, 2004 - 9, 2010
広告

記事カテゴリ

書庫

日記カテゴリ

ギャラリ

その他

わんくま同盟

同郷

 

C/C++のポインタの機能--参照渡し(builder by ZDNet Japan)より:


#include
int main( void ) {
    int *n;
    *n = 5;   /* ポインタ変数nに値5を代入 */
    printf( "%d\n", *n );  /* ポインタ変数nが持つ値(5)の出力 */
    return 0;
}

難しい概念を、初学者にもわかるように簡単な概念で説明し、適度な知識が身についた後、改めて本来の概念を説明する。

そういう手法があることは、理解しています。でもね、これは、アカンやろう。

第一に、ポインタとはなんぞや。「一般の変数」との違いが説明されていない。その上で、次のページにはこんなことが書いてある。

先ほどまで*nと記述してきたポインタ変数は、宣言以降はnという記述も許される。これが用いられるのは、たとえばキーボードなどから値を入力するときである。その例を以下に示す。

!!!え~~~~っ???

int *n;」と宣言したら、「n」と「*n」は「という記述も許される」というレベルで使い分けができるものじゃないですよ。だったら、なぜ次の例では、「scanf( "%d", &n );」なの?!

ん。。。なんか、易しく説明しようとして、説明に失敗しているぞ?

投稿日時 : 2008年3月28日 21:44
コメント
  • # re: これは、ちょっと
    アキラ
    Posted @ 2008/03/28 22:18
    あの記事はどこから突っ込んでいいのかわかんないですw
  • # re: これは、ちょっと
    επιστημη
    Posted @ 2008/03/28 23:18
    えーと...どぉしましょ ^^;;;;;;
  • # re: これは、ちょっと
    スーパーあんどちん
    Posted @ 2008/03/28 23:38
    因みに読者から指摘があった後で編集者と著者が協議し修正した内容がソレですね。

    ソースはコンパイルが通らないので迂闊に動作させることがないからいいとして(<ヲイ)、そのほかの説明も香ばしすぎるなぁ。
  • # re: これは、ちょっと
    スーパーあんどちん
    Posted @ 2008/03/28 23:48
    ”~ののような処理”とタイトルが修正されているところは日本語的にどうよ?
  • # re: これは、ちょっと
    biac
    Posted @ 2008/03/29 0:04
    今世紀に入ってから C/C++ のコードを書いたことがないのですが… f(^^;
    int* n; *n=5; …って、 ドコに書き込みに行っちゃうんでしょ?
  • # re: これは、ちょっと
    biac
    Posted @ 2008/03/29 0:22
    しまた。 記事の後ろにコメントが付いてた… orz
  • # re: これは、ちょっと
    επιστημη
    Posted @ 2008/03/29 0:55
    ちょっと噛みついて参りました ^^;
  • # re: これは、ちょっと
    ちゃっぴ
    Posted @ 2008/03/29 3:45
    恐ろしいです。。。
  • # re: これは、ちょっと
    Jitta
    Posted @ 2008/03/29 7:02
    うわ!コメント早!!

    コメントありがとうございます。

    > 因みに読者から指摘があった後で編集者と著者が協議し修正した内容がソレですね。
    ま ぢ で す か ?
    あ、18時に修正入ったのね。
    えと、「修正後の記事にもツッコミ入れてね」ってことですか?なんか、意図がわっかんね~!


    > どこから突っ込んでいいのかわかんないですw
    > えーと...どぉしましょ ^^;;;;;;
    > 恐ろしいです。。。
    でしょ、でしょ、でしょ!!


    > 記事の後ろにコメントが付いてた… orz
    いえいえ。まさに、そこがツッコミどころですから。


    > ちょっと噛みついて参りました ^^;
    あなおそろしや(^-^;
  • # re: これは、ちょっと
    Jitta
    Posted @ 2008/03/29 7:28
    調子に乗って、私も登録してコメントしてきた。
    「秘密に包まれています」
    「沈黙を守っています」
    ってのがイイ!!
  • # re: これは、ちょっと
    まさる
    Posted @ 2008/03/29 10:45
    >επιστημηさん
    >Jittaさん
    GJ!
  • # re: これは、ちょっと
    はつね
    Posted @ 2008/03/29 11:19
    「賢明な読者の方は」って....
    それって、わざと誤った事を書き、”同じ記事の中で”自分でそれは違いますよと説明するときの枕詞とかに使うべき表現です。

    それすらもチェックできないでしょうか、担当編集の方は。もうなんだか、技術に詳しいとか詳しくないとか以前のノーチェックなフリーダムすぎる状況。
  • # re: これは、ちょっと
    ゆーち
    Posted @ 2008/03/29 11:43
    ものすごいひどさですなぁ。
  • # re: これは、ちょっと
    ちゃっぴ
    Posted @ 2008/03/29 11:44
    というか、pointer って memory をどのように管理しているか概念がつかめれば簡単に理解できると思うんですけど。
    そのためには、memory 上にどんな感じに展開されているか図で説明するのが一番。じゃまいかおさんがやってましたね。

    毎回そういう展開をやっていれば、どうして NG なのかすぐにわかると思います。今回のネタでそういう説明をするとこうゆうことは絶対にやってはいけないという初心者向けの非常によい講義になりそうですねww
  • # re: これは、ちょっと
    片桐
    Posted @ 2008/03/29 12:33
    あー、片桐でもこれは、ちがうって思ったw
  • # re: これは、ちょっと
    はつね
    Posted @ 2008/03/29 13:05
    おいら、あの記事読んで「うは、全然間違えて覚えていたのかよ。私」って心配になったよ。
  • # re: これは、ちょっと
    スーパーあんどちん
    Posted @ 2008/03/29 16:11
    何で誰も
    #include <ファイル名ナッシング>

    に突っ込まないんだ?
    ソレが霞むほどその他がステキだからだろうけど。
  • # re: これは、ちょっと
    ながせ
    Posted @ 2008/03/29 20:44
    ほんとうだ。コンパイルがそもそも通りませんね。
  • # scanf って教える必要ある?(初心者に教えるときでも最初から脆弱性が発生しない方法を教えよう)
    ちゃっぴの監禁部屋
    Posted @ 2008/03/29 22:30
    scanf って教える必要ある?(初心者に教えるときでも最初から脆弱性が発生しない方法を教えよう)
  • # scanfを使うなら
    DHJJ [Hatsune's Journal Japan]
    Posted @ 2008/03/30 11:21
    scanfを使うなら
  • # re: これは、ちょっと
    Jitta
    Posted @ 2008/03/30 21:40
    include 抜けは、「省略」したかな、と。
    あるいは、おそらく、ソースを見たら書いてあるんじゃないかと。これは編集部のちょんぼですね、きっと。
  • # re: これは、ちょっと
    Jitta
    Posted @ 2008/03/30 21:42
    > ソースを見たら書いてあるんじゃないかと。

    っていう修正が入っていたorz
  • # re: これは、ちょっと
    がる
    Posted @ 2008/03/30 22:25
    ちゃ~す。
    includeは…
    ・元のソースは、実態参照せずに書いてた(おいらもやったことある orz
    ・コメントの方は、よ~わからん「サニタイズ」がされてて。<>をみると「エスケープ」するんじゃなくて「<>を中身ごと削除する」処理してる orz

    ってかんじっぽです~
  • # re: これは、ちょっと
    Jitta
    Posted @ 2008/03/30 22:33
    みたいね。
    エピさんとがるさん、クリップしといたー
  • # re: これは、ちょっと
    Jitta
    Posted @ 2008/03/30 22:36
    初期化はコンパイル時にやるんじゃ無かったっけ?
  • # re: これは、ちょっと
    通り縋りの性悪狐
    Posted @ 2008/03/31 15:07
    某巨大掲示板群でも話題のニュースをネタにしているブログはここですか?
    ってことで、ZDのコメント欄を頼りにここに辿り着きました。
    あの記事の筆者が酷いのも然ることながら、記事の訂正ができないZDも如何なものかと思うのですが。
    なんかこう、もう少し真摯に受け止めていただきたいものです。
  • # re: これは、ちょっと
    Jitta
    Posted @ 2008/03/31 21:55
    通り縋りの性悪狐さん、コメントありがとうございます。

    > もう少し真摯に受け止めていただきたいものです。
    ですよね。

    今現在、「レビュー中」だって。いったん公開中止すりゃいいのに。
    まぁ、公開してしまったものを公開中止したって魚拓とられていたりするのでアレなんだけど、初心者を惑わすような記事をさらしたままにしない、ってことでは、意味のあることなんだけどなぁ。
  • # re: これは、ちょっと
    性悪狐
    Posted @ 2008/04/01 22:50
    問題は件のページに留まりませんね。
    某掲示板群の方にも書きましたがあちらこちらに有り得ない間違いがあるようです。
    困ったもんです。
  • # re: これは、ちょっと
    Jitta
    Posted @ 2008/04/01 23:25
    > あちらこちらに有り得ない間違いがあるようです。
    ですね。
    はつねさんやちゃっぴさんが、突っ込んでいらっしゃいます。最初の、「なぜこんなに長く使われ続けているか」と、無料の開発環境をまとめた回くらいかなぁ、まともなのは。。。
    まぁ、「長く使われている」では、BASIC も Visual Basic として長く使われているし、COBOL も .NET 環境に移植されてまで使われ続けている。単に Java や php が新興なだけで、どの言語も「使われなくなった」ものはないよなぁ。
タイトル  
名前  
Url
コメント