mallocを使用するたびに警告が表示されるのはなぜですか?
malloc
malloc
malloc
malloc
malloc
int *x = malloc(sizeof(int));
gcc
gcc
new.c:7:警告:関数 'malloc'の暗黙の宣言
new.c: 7:警告:組み込み関数 'malloc'の暗黙の宣言がありません。
mallocを使用するたびに警告が表示されるのはなぜですか?
malloc
malloc
malloc
malloc
malloc
int *x = malloc(sizeof(int));
gcc
gcc
new.c:7:警告:関数 'malloc'の暗黙の宣言
new.c: 7:警告:組み込み関数 'malloc'の暗黙の宣言がありません。
あなたが追加する必要があります。そうしない場合、コンパイラはあなたがmalloc
という名前の独自の関数を定義したいと考えてやので、それはあなたに警告します:あなたが明示的にと
int
と仮定されています。これは組み込みのmalloc
と互換性がありません。 size_t
を受け取り、void*
を返します)。の互換性がない暗黙的な宣言。
あなたは、たとえば、関数を宣言ヘッダーファイルをインクルードする必要があります。
#include <stdlib.h>
あなたはこのヘッダファイル、関数はコンパイラに知られていないが含まれていない場合。だから、それは宣言されていないと見なされます。
#include <stdlib.h>
このファイルには、組み込み関数malloc
の宣言が含まれています
あなたの機能を援助してみる習慣をつくってください。
Cのほとんどのヘルプは、unixのマニュアルページをモデルにしています。
男性malloc
は非常に有用な結果を示します。
グーグル・マンmallocが私の言いたいことをあなたに示します。
もちろんUNIXでも、関連するものを見つけることができます。
概要で '#include
誰かがここで他の答えを読んだら、今それを知るようになります。 – MikeKulls
+1実際のメッセージの説明 –
用語ニット:Cの組み込み関数のようなものはありません。mallocは、単に標準Cライブラリの関数です。 – Jens
@Jens標準ライブラリ関数を組み込み関数と呼ぶことには問題がありません。また、gccの人々は、エラーメッセージが "組み込み"という言葉を使用しているので、明らかにgccの人もそうではありません。 – sepp2k