C에서 main()으로의 재귀: 허용됩니까?
C에서는 main()으로의 재귀를 금지한다는 개념에도 불구하고 다음과 같은 코드가 g를 사용하여 오류 없이 컴파일되는 경우입니다.
int main() { main(); }
이것은 질문이 제기됩니다: C 표준은 그러한 재귀를 허용합니까?
답변:
C 표준은 섹션 3.6.1/3에서 main()으로의 재귀를 명시적으로 금지합니다. "main 함수는 프로그램 내에서 사용할 수 없습니다."라고 명시되어 있습니다. 이 맥락에서 "사용됨"은 "잠재적으로 평가되는 표현식에 해당 이름이 나타나는" 상황을 의미합니다.
따라서 C 프로그램에서는 main()에 대한 재귀 호출이 허용되지 않습니다. 오류 없이 제공된 코드를 컴파일하는 컴파일러의 능력은 구현별 최적화 또는 표준 해석의 허점 때문일 가능성이 높습니다. 그러나 언어 사양의 명시적인 금지 사항에 위배되므로 이러한 동작에 의존하는 것은 권장되지 않습니다.
위 내용은 C에서 `main()`으로의 재귀가 허용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!