2013-09-21 15 views
10

저는 C 언어로 초보자입니다. 누구도 자세히 main(), int main(), void main(), main (void), void main (void), int main (void) C 언어로 작동하는 예제를 사용하여 설명 할 수 있습니까? 우리가 무효 main()을 사용할 때 일어나는 일과 간단한 언어로 int main()을 사용할 때 어떤 일이 일어나고 있는지 등등.
나는 알고 있지만 캔트은 무엇을하고 이해 :int main() 및 void main() 작동 방법

  1. 주() - 함수가 int 값을 반환
  2. ()가 주요 무효 - - 기능은 아무것도 등 반환 함수는
  3. ()가 주요 INT 인수가 없습니다 .

int main() return 0을 사용하여 간단한 hello world를 작성할 때 void main()을 사용할 때와 동일한 출력을 제공합니다. 그래서 어떻게 작동합니까? 그 응용 프로그램은 무엇입니까?

+5

코딩'무효 메인()'당신이 아주 잘 C 언어를 모르는 사람에 의해 쓰여진 교과서를 사용하고 표시로 주로 유용하다. 나열한 양식 중에서'int main (void)'만 유효합니다. (단순하지만 그다지 간단하지는 않지만 지금은 충분히 가깝습니다.) –

답변

19

main() 또는 void main()도 표준 C가 아닙니다. 전자는 int의 암시 적 값이므로 int main()과 동일하게 허용됩니다. main의 반환 값은 exit status을 운영 체제로 반환하는 것입니다. 표준 C에서

, main의 유일한 유효 서명은 다음과 같습니다

int main(void) 

int main(int argc, char **argv) 

사용중인 양식 : int main()main를 나타내는 이전 스타일 선언입니다 지정되지 않은 소요 인수의 수. 그것을 사용하지 마십시오 - 위의 것을 하나 선택하십시오.

+1

이력서에서는 운영체제가 종료 상태를 요구하지 않았을 때 작성된 오래된 C 코드와의 호환성을 거꾸로 허용합니다. 당신은 항상'main'에 정수 값을 반환해야합니다. – Jack

+2

@Jack :'void main()'은 하위 호환성을위한 것이 아닙니다. 처음에'void' 키워드를 도입 한 표준은'main'의 리턴 타입을'int'로 정의했습니다. –

+0

int main (int argc, const char ** argv, const char ** env) – dns

0

int main 반환 integer

동안

void main 반환

8

당신이 정말로 ANSI C 89을 이해하려면 nothing, 나는 한 가지에서 당신을 수정해야; 는 ANSI C (89)는 다음과 같은 기능의 차이에서 :

int main() 
int main(void) 
int main(int argc, char* argv[]) 

이다 :

int main()

  • 알 형태의 인수 미지수를 예상하는 기능을 갖는다. 응용 프로그램 소프트웨어 상태를 나타내는 정수를 반환합니다.

int main(void)

  • 인수를 기대하지 않는 기능
  • . 응용 프로그램 소프트웨어 상태를 나타내는 정수를 반환합니다.

int main(int argc, char * argv[])

  • 인자와는 argv []는 argc 인수의 수를 예상하는 기능
  • . 응용 프로그램 소프트웨어 상태를 나타내는 정수를 반환합니다. 기능

    INT 주 (무효)

    당신이 당신의 프로그램을 실행하는 데 초기 매개 변수를 필요로하지 않을 때이 기능을 사용할 필요가
    • /부하의 각을 사용하는 경우에 대해

    (매개 변수는 OS에서 수신 - 프로그램 자체에서).

int 주 (int argc, 문자는 * 변수는 argv [])

당신이 당신의 프로그램을로드 할 초기 매개 변수를 필요로 할 때이 기능을 사용할 필요가
  • 은 (매개 변수는 OS에서 수신 - 아웃 프로그램 자체의).

는 약 void main() ANSI C (89)에서

(예를 들어, 우분투) void main를 사용 -ansi -pedantic AS 프로젝트를 컴파일 당신은 당신의 주요 기능은 유형의 무효가 아닌 것을 나타내는 경고 메시지가 나타납니다 int를 입력하지만 프로젝트를 실행할 수 있습니다. 대부분의 C 개발자는 도 컴파일하지만 모든 변형에서 int main()을 사용하는 경향이 있습니다.

희망 하시겠습니까?

행운과 행복

관련 문제