C言語のNULLについて
C言語のNULLについて教えてください。
・NULLは、アドレスの0番地であり、参照先が無い(どこのメモリ箇所も指していない)と
言う認識でいます。 そこで、仮に下記の処理を行った場合どうなるか試してみました。
------------------------------------------
stddef.h
(void *)0)
------------------------------------------
char *test;
test = NULL;
printf("[%p]\n", test); // 出力 [00000000]
printf("[%s]\n", test); // 出力 []
memcpy(test, "123", 3); // メモリフォルト
------------------------------------------
予想としては、%sの処理でメモリフォルトとなると思っていたのですが
実際は、メモリフォルトが起こらなかったです。
と言う事は参照先が何かしらあったって事なのでしょうか?