タグ

ブックマーク / mdgw.hateblo.jp (1)

  • int *n; *n = 5; - まどぎわBLOG

    はてなブックマークとかで話題になっていたこのコード int main( void ) { int *n; *n = 5; printf( "%d\n", *n ); ... C/C++のポインタの機能--参照渡しのような処理 一見すると普通(?)のコードですが、初期化されていないnを使っているので危険ってやつですね。これだけだと単なる間違いなのですが、説明文も含めてポインタを理解していないのがバレて話題になったということのようです。 何でこういう間違いになってしまったのか、理由と思わしきものがちゃんと書いてあって、 このときnには代入された値を記憶した場所(アドレス)が自動的に代入される C/C++のポインタの機能--参照渡しのような処理 という勘違いが原因のようです。偶然動いた場合は確かにそのように見えるので、原理を無視すればその通り(?)な気がしますが、残念ながら値を代入する前と後でn

    int *n; *n = 5; - まどぎわBLOG
    RanTairyu
    RanTairyu 2008/04/01
    []「あと歴史的経緯を全然知らないのですが、前者の方が主流な理由は何なんでしょう?1行で複数の変数を宣言し」
  • 1