###前提・実現したいこと
下記のコードはコンパイルに成功いたしましたが、一つ疑問になっていることがあります。
通常、ポインタの場合、アドレス値を出力するには、&を使う必要があると思いますが、下記の疑問があります。
(*1)についてですが、通常メモリは&をつけて表示すると思いますが、変な値が出力しましたがこれは、なぜでしょか。
(*2)と*(3)ですが、出力結果が両方とも0となりました。前者はポインタで何の指していないので、0。しかし後者は(1)と比較しても0になる理由が分かりません。
これはなぜでしょうか。
###ソースコード
using namespace std; int main(void){ // Here your code ! int a, b; int * p; int * Q; a = 100; p = & a; printf( "%d\n", * p ); // 100 printf( "%d\n", p ); // -1711247084 (*1) printf( "%d\n", * Q ); // (*2) printf( "%d\n", Q ); // (*3) }
###補足情報(言語/FW/ツール等のバージョンなど)
回答7件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/01 08:42