> 백엔드 개발 > C++ > C 및 C 함수 호출의 매개변수 평가 순서는 무엇입니까?

C 및 C 함수 호출의 매개변수 평가 순서는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-26 15:20:14
원래의
253명이 탐색했습니다.

What is the Order of Parameter Evaluation in C and C   Function Calls?

함수 호출의 매개변수 평가 순서

C 및 C와 같은 프로그래밍 언어에서는 함수 매개변수가 평가되는 순서가 주제입니다. 토론의. 이 문서에서는 각 언어 표준에 설명된 세부 사항을 자세히 살펴봅니다.

C 언어

C99 및 C11 표준에 따르면 함수 매개변수를 평가하는 고정된 순서는 없습니다. . 함수 지정자, 인수 및 그 안에 있는 하위 표현식의 평가는 지정되지 않은 순서로 발생하지만 실제 함수 호출 앞에 시퀀스 포인트가 있습니다. 이는 함수가 본문에 들어가기 전에 매개변수 평가로 인한 부작용이 발생함을 의미합니다.

C 언어

C에서 언어 표준은 인수 평가 순서를 지정합니다. 함수 호출에서는 지정되지 않았습니다. 인수 표현식 평가의 모든 부작용은 함수가 입력되기 전에 발생합니다. 후위 표현식과 인수 표현식 목록의 평가 순서도 지정되지 않습니다.

하드웨어 스택 사용

C 표준이나 C 표준 모두 기능 매개변수를 전달하기 위한 하드웨어 스택. 매개변수 전달 방법은 컴파일러 디자이너에게 맡겨진 구현 세부 사항입니다. 대부분의 아키텍처는 스택 기반 접근 방식을 사용하지만 보편적으로 구현되지는 않습니다.

결론

C 및 C에서 함수 매개 변수의 평가 순서는 다음에 따라 달라질 수 있습니다. 구현은 언어 표준에 의해 명시적으로 정의되지 않았기 때문입니다. 그러나 두 언어 모두에서 해당 기능이 실행되기 전에 인수 평가로 인한 부작용이 발생한다는 점에 유의하는 것이 중요합니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿