プログラムがクラッシュします。なぜでしょうか?1時間ほど考えた
けど理由がわかりません。

int main(void)
{
char *p = (char *)0x5000000;

memset(p, 0, 0x10000000);

return 0;
}