• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポインタについて)

C言語ポインタについての質問

このQ&Aのポイント
  • C言語を勉強している中でポインタについて分からない箇所があります。
  • プログラムの中で&iとpiの違いによってセグメンテーションエラーが発生する原因を知りたいです。
  • 質問内容を具体的に述べ、アドレスを渡す際の違いについて詳しく教えていただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

piに具体的な値(アドレス)が入って無いから。 それ以上でもそれ以下でもない。 前者のiの場合は最初から実態なので中身が不定でもアドレスが正しく存在するので問題ないっていうカラクリで 後者はアドレス自体が不定のままhogeに渡される。

asahi_kama
質問者

お礼

ご回答ありがとうございます。 なるほど。考え付きませんでした。 初期化(?)をしっかりやらないとダメってことですね。 int *piを宣言しただけでは、 piとしてのメモリだけ確保されて、 piの参照先のメモリは確保されてない(事が多い)んですね。 偶然どこか正当なメモリを参照してたら怖いですね・・・。 勉強になりました。 ありがとうございます。

関連するQ&A