7.22.3.4 malloc 関数 malloc 関数は、サイズが size で指定され、値が不確定なオブジェクトに領域を割り当てます。
プロトタイプ:void *malloc(size_t size);
パラメータとして負の値を渡そうとしました: malloc(negative)
returns NULL
.
[size_t] 負が符号なし [いくつかの大きな値] に変換され、必要なスペースを割り当てることができないか、関数がパラメーターをチェックして戻りますNULL
か?
それが大きな正に変換された場合、呼び出すmalloc(INT_MIN+2)
と引き続き が返されますNULL
が、malloc(0)
ポインターに割り当てられて機能します*p = somevalue
。これはどうですか?
実装定義ですか?
このリンクを読んでください: malloc(0)