間違い
sample.c
#include <stdio.h>
int main(void)
{
int a = 70;
void *addr = (void *)&a;
printf("変数addrのアドレスは「%p」です\n", addr);
printf("p番値の値は「%d」です", *addr);
return 0;
}
$ gcc sample.c -o sample && ./sample
error: argument type 'void' is incomplete
printf("p番値の値は「%d」です", *addr);
^
1 error generated.
正解
sample.c
#include <stdio.h>
int main(void)
{
int a = 70;
void *addr = (void *)&a;
printf("変数addrのアドレスは「%p」です\n", addr);
//printf("p番値の値は「%d」です", *addr);
printf("p番値の値は「%d」です", *(int *)addr);
return 0;
}
$ gcc sample.c -o sample && ./sample
変数addrのアドレスは「0x12345678」です
p番値の値は「70」です%