> 백엔드 개발 > C++ > 본문

C에서 i가 R-값인 반면 i는 L-값인 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-02 22:29:02
원래의
535명이 탐색했습니다.

Why is   i an L-value while i   is an R-value in C  ?

값 범주의 차이 이해: i 대 i

C 프로그래밍 영역에서는 i와 i 같은 표현이 비슷해 보일 수 있습니다. 그러나 뚜렷한 가치 범주를 가지고 있습니다. 전자 i는 l-값으로 간주되고, 후자 i는 r-값 범주에 속합니다.

L-값 이해

L- 값은 읽고 쓸 수 있는 메모리 위치를 나타냅니다. 즉, 값을 할당할 수 있는 변수나 개체를 나타냅니다. i를 증가시키면 먼저 i의 현재 값을 검색하고 이를 1만큼 증가시킨 다음 업데이트된 값을 동일한 메모리 위치에 다시 저장하도록 컴파일러에 요청합니다. i는 원래 변수를 수정하므로 그 결과를 변수에 할당하거나 추가로 조작할 수 있습니다. 이는 i를 l-값으로 만듭니다.

R-값과 대조

반면, R-값은 상수 값 또는 읽기만 가능한 표현식을 나타냅니다. 에서. 수정하거나 새 값을 할당할 수 없습니다. i 의 경우, 이 작업은 원래 변수 i를 변경하지 않은 채 증가된 값의 복사본을 반환합니다. 이는 i가 수정 가능한 메모리 위치를 나타내지 않기 때문에 어떤 것에도 할당될 수 없음을 의미합니다. 따라서 i는 r-값으로 분류됩니다.

성능 및 선호도에 대한 의미

성능 영향 및 코딩 선호도를 고려하려면 이러한 표현식의 값 범주를 이해하는 것이 중요합니다. . 사전 증분(i)은 사후 증분(i)보다 선호되는 경우가 많으며, 특히 반복자와 같은 특정 개체를 사용할 때 더욱 그렇습니다. 사전 증분은 원래 변수를 직접 수정하므로 추가 복사본을 만들 필요가 없기 때문입니다.

위 내용은 C에서 i가 R-값인 반면 i는 L-값인 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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