2009-08-04 4 views

답변

203

당신은 추가해야합니다. 당신이하지 않으면, 컴파일러는 당신이 당신의 자신의 기능을 malloc 이름을 정의 할 수 있다고 생각하고 있기 때문에 경고 :

  1. 당신은 명시 적으로 그것을 를 선언하지 않고
  2. 이미 내장되어있다 함수가 암시 적으로 선언 될 때 그 이름으로 함수에서 암시 적으로 선언 된 것과 다른 서명이있는 경우 (함수가 암시 적으로 선언 될 때 그 반환 및 인수 유형은 내장 된 malloc과 호환되지 않는 int으로 가정됩니다. size_t을 사용하고 void*을 반환합니다.
+23

메시지의 실제 설명은 –

+5

입니다. 전문 용어 nit : C의 기본 제공 함수와 같은 것은 없습니다. malloc은 단순히 표준 C 라이브러리의 함수입니다. – Jens

+4

@Jens 표준 라이브러리 함수를 내장 함수로 참조하는 데는 문제가 없습니다. gcc도 오류 메시지에 "built-in"이라는 단어가 사용 되었기 때문에 분명히 gcc를 사용하지 않습니다. – sepp2k

28

#include <stdlib.h>을 수행하지 않았습니다. 이 헤더 파일을 포함하지 않으면 함수는 컴파일러에 알려지지 않은,

#include <stdlib.h> 

:

15

당신은 예를 들어, 함수를 선언 헤더 파일을 포함해야합니다. 그래서 그것을 선언되지 않은 것으로 봅니다.

#include <stdlib.h> 

이 파일은 내장 함수 malloc에 대한 선언이 포함

10

도움을 받아 기능을 찾는 습관을 가지십시오.

C에 대한 대부분의 도움말은 유닉스 매뉴얼 페이지를 모델로하고있다.

남자 malloc

매우 유용한 결과를 제공합니다.

Google 검색 사용자 malloc이 무슨 뜻인지 보여줍니다.

물론 유닉스에서는 관련있는 것들을 얻을 수 있습니다.

+1

개요에'#include '줄이 있음을 알고있는 경우에만 프로그램에이 줄을 써야합니다. –

+1

다른 응답을 읽은 사용자는 이제 알 수 있습니다. – MikeKulls

관련 문제