>백엔드 개발 >C++ >C와 C에서 함수 매개변수의 평가 순서를 결정하는 것은 무엇입니까?

C와 C에서 함수 매개변수의 평가 순서를 결정하는 것은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-21 06:35:10449검색

What Determines the Evaluation Order of Function Parameters in C and C  ?

함수 매개변수 평가 순서

C 및 C에서 함수 매개변수가 평가되는 순서는 언어 표준에 의해 지정되지 않습니다.

평가 순서

C99 표준에 따르면 매개변수의 평가 순서는 지정되지 않습니다. 그러나 실제 함수 호출 이전에 시퀀스 포인트가 있습니다. 즉, 함수가 실행되기 전에 모든 매개변수 평가가 완료된다는 것을 의미합니다.

C에서는 인수 평가 순서도 지정되지 않습니다. 모든 인수 표현식의 부작용은 함수가 입력되기 전에 발생합니다.

함수 호출 구현

C 및 C 표준에서는 하드웨어를 사용하여 함수 호출을 구현할 것을 요구하지 않습니다. 스택. 이는 컴파일러와 플랫폼에 남겨진 구현 세부 사항입니다. 그러나 실제로 가장 많이 사용되는 아키텍처는 매개변수 전달을 위해 하드웨어 스택을 사용합니다.

정보 충돌

매개변수 평가 순서에 대한 혼란은 불완전하거나 부정확한 정보로 인해 발생할 수 있습니다. 서적. 언어 표준은 이 주제에 대한 정보의 최종 소스입니다. 공식 C99 및 C11 초안은 물론 공개 C 초안도 온라인으로 제공되며 이 문제에 대한 명확한 지침을 제공합니다.

위 내용은 C와 C에서 함수 매개변수의 평가 순서를 결정하는 것은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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