###前提・実現したいこと
申し訳ありません。
下記の実行を再度したところ、コンパイルエラーがでず成功しました。
ご協力してくださった方、ありがとうございます。
C++を学習している中で疑問になっていることがあります。
ポインタについて混乱していることがあります
int * p : これは宣言時に、どこかの変数のアドレスしか受け取らない。
そのためPに何か代入するときは、&{変数}しか受け取らない(C++のルール)
また*Pとした場合、これはアドレスのメモリに格納されている値を指す
int* Q と宣言し、
*Q = 100 した場合、これは、どこかのメモリに配置されたメモリにある100を指す。
ここで疑問なのですが、Q=pとした場合、エラーが起きます。
これは、同じ型なのに、なぜエラーが発生するのでしょうか。
###ソースコード
#include <iostream> using namespace std; int main(void){ // Here your code ! int a, b; int * p; int * Q; a = 100; b = 200; p = & a; printf( "%d\n", * p ); // 100 * p = b; p = Q; printf( "%d\n", Q ); // 0 }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。