>  기사  >  백엔드 개발  >  C의 `main` 함수 서명에 한정자를 추가할 수 있나요?

C의 `main` 함수 서명에 한정자를 추가할 수 있나요?

Patricia Arquette
Patricia Arquette원래의
2024-11-01 12:31:02869검색

 Can You Add Qualifiers to the `main` Function Signature in C  ?

한정자는 C에서 "main"의 서명을 장식할 수 있습니까?

표준에 따르면 "main"에는 두 가지 허용되는 서명이 있습니다.

  • int main()
  • int main(int, char*[])

그러나 질문이 생깁니다. 한정자를 포함하도록 서명을 수정할 수 있습니까? ? 예를 들면 다음과 같습니다.

<code class="cpp">int main(const unsigned int, const char* const* argv);</code>

답변:

C 98 표준(섹션 3.6.1 단락 2)에 따르면 구현 시 유형을 자유롭게 정의할 수 있습니다. 필수 반환 유형인 "int"를 넘어서는 "main"의 여기에는 한정자의 사용을 허용하는 것이 포함됩니다. 따라서 표준에서는 "env 승인" 기본 승인을 명시적으로 요구하지 않지만 이는 허용 범위 내에 있습니다.

설명:

표준은 다음을 구별합니다. 표준 환경과 독립형 환경. 독립된 환경에서 "main"의 동작은 표준의 적용을 받지 않지만 문서화되어야 합니다. 따라서 "main"의 서명에 대한 한정자의 허용 여부는 독립된 컨텍스트에 따라 달라질 수 있습니다.

위 내용은 C의 `main` 함수 서명에 한정자를 추가할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.