コードでmalloc
を使用する場合:
int *x = malloc(sizeof(int));
私はgcc
からこの警告を受け取ります:
new.c:7: warning: implicit declaration of function ‘malloc’
new.c:7: warning: incompatible implicit declaration of built-in function ‘malloc’
以下を追加する必要があります。
#include <stdlib.h>
このファイルには、組み込み関数malloc
の宣言が含まれています。そうしないと、コンパイラはmalloc
という名前の独自の関数を定義する必要があると判断し、次の理由で警告します。
int
であると想定されます。組み込みのmalloc
と互換性があり、size_t
を取り、void*
を返します。まだ行っていません#include <stdlib.h>
。
たとえば、関数を宣言するヘッダーファイルを含める必要があります。
#include <stdlib.h>
このヘッダーファイルを含めない場合、関数はコンパイラーに認識されません。したがって、それは宣言されていないと見なされます。
ヘルプで関数を調べる習慣をつけます。
cのほとんどのヘルプは、UNIXのマニュアルページでモデル化されています。
男malloc
かなり有用な結果が得られます。
googling man mallocは、私が何を意味するかを示します。
もちろん、Unixでは、関連することに対して適切な情報も得られます。