프로그래밍의 우선순위와 연관성
프로그래밍에서 표현식을 올바르게 평가하려면 작업 순서가 중요합니다. 연산자 우선 순위와 연관성은 이 순서를 결정하는 데 중요한 역할을 합니다.
연산자 우선 순위와 연관성은 누가 정의합니까?
특정 프로그래밍 언어에 대한 표준은 연산자 우선 순위와 연관성을 정의합니다. . C 및 C의 경우 이러한 정의는 해당 언어 문법에서 찾을 수 있습니다.
연산자 우선 순위는 어떻게 정의됩니까?
연산자 우선 순위는 해당 언어 문법에 따라 연산자 그룹을 설정합니다. 우선 사항. 우선순위가 높은 연산자는 우선순위가 낮은 연산자보다 먼저 평가됩니다. 이 계층 구조는 언어 문법 내에서 정의됩니다.
연관성은 어떻게 정의됩니까?
연관성은 동일한 연산자의 인접 사용을 그룹화하는 방법을 결정합니다. 예를 들어, 연산자가 왼쪽에서 오른쪽으로 연관되는 경우 해당 연산자의 인접 사용은 왼쪽에서 오른쪽으로 연관됩니다. 이 규칙은 언어 문법에서도 파생됩니다.
평가 순서와의 관계
연산자 우선 순위와 연관성은 함수 호출에 대한 평가 순서를 직접 제어하지 않습니다. 표준에서는 연산자 자체보다 연산자의 피연산자가 평가되도록 요구합니다.
왼쪽에서 오른쪽으로 함수 연관성
함수는 항상 왼쪽에서 평가한다는 믿음 오른쪽은 완전히 정확하지 않습니다. 함수 호출 연산자와 같은 일부 연산자에는 왼쪽에서 오른쪽 연관성이 있지만 이것이 함수 호출이 평가되는 순서를 지정하지는 않습니다.
결합성의 영향
f1() f2() * f3() 예제를 생각해 보세요. * 연산자는 연산자보다 우선순위가 높으므로 표현식은 f1() (f2() * f3())으로 그룹화됩니다. 그러나 함수 호출 평가 순서는 연관성에 의해 지정되지 않습니다.
기타 순서 고려 사항
특정 연산자는 피연산자 평가에 순서 제한을 적용할 수 있습니다. 예를 들어, x || y, x는 항상 y보다 먼저 평가됩니다. 이는 단락 동작을 허용합니다.
역사적 컨텍스트
시퀀스 포인트는 이전에 C 및 C에서 평가 순서를 정의하는 데 사용되었습니다. 그러나 현대 표준에서는 이러한 동작을 설명하기 위해 "이전 순차" 관계 개념을 채택했습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3