実行環境によって値が変わることはあると思うのであくまで参考まで
NULLは「(void*)0」なので、値を出力すること自体、良くないことですが、やってみています。
# include<stdio.h>
int main (void) {
printf("数字\n");
printf("%d\n", NULL);
printf("%d\n", '\0');
printf("%d\n", 0);
printf("アドレス\n");
printf("%p\n", NULL);
printf("%p\n", '\0');
printf("%p\n", 0);
printf("メモリ\n");
printf("%lu\n", sizeof(NULL));
printf("%lu\n", sizeof('\0'));
printf("%lu\n", sizeof(0));
return 0;
}
数字
0
0
0
アドレス
0x0
0x0
0x0
メモリ
8
4
4