C言語初心者です。
ポインタについての理解がまだ浅かったようなので復習がてら簡単なコードを書いて見たのですが詰まってしまいました。
C
1#include <stdio.h> 2int main(){ 3 int i = 25; 4 int *p; 5 p = &i; 6 printf("データ:%d , アドレス:%d", *p, p); 7}
コンパイルすると
warning: format specifies type 'int' but the argument has type 'int *' [-Wformat] printf("データ:%d , アドレス:%d", *p, p); ~~ ^ 1 warning generated.
pはポインタ変数なので、アドレスが記憶されているはずなのですがその数値をを出力しようとするとこうなります。
このエラーに表示されているint *も一応16進数のint型なのではないでしょうか。
なぜでしょう、環境はmacOSです。
[追記]
macOSではなくOSXです
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/24 13:07