집 >백엔드 개발 >C#.Net 튜토리얼 >i++와 ++i의 차이점과 예제
i++ 및 ++i 차이점 및 예
i++ 및 ++i 명령 차이점은 다음과 같습니다.
1 할당 순서가 다릅니다
++ i가 먼저 추가된 다음 i가 할당됩니다. ++가 먼저 할당된 다음 추가되며 ++i와 i++는 모두 두 단계로 완료됩니다.
다음 단계에서 ++i가 할당되므로 계단식 할당을 위한 변수로 사용할 수 있습니다. ++i = a =b, 즉 ++i는 lvalue입니다. i++의 다음 단계는 자동입니다. 증분, lvalue가 아닙니다.
이미지에 대한 이해는 i++가 먼저 다른 일을 한 다음 자신에게 1을 더하고, ++i는 먼저 자신에게 1을 더한 다음 다른 일을 한다는 의미일 수 있습니다.
추천 학습: c 언어 비디오 튜토리얼
예:
a = ++i, i=i+1과 동일 a = i++, a = i; i =i+1;
2. 효율성이 다릅니다예를 들어 i=3, b=i++는 b=3을 의미하고, 완료 후 i가 4가 되도록 하고, b=++i는 먼저 i++를 의미합니다. 4가 되면 b=4가 됩니다. 여기서 ++i는 i++보다 더 효율적입니다. 일반적으로 루프 영역에서는 둘 사이에 큰 차이가 없지만, 프로그램 흐름에서 생명주기와 i 값의 변화에 주의해야 합니다.
3. i++는 lvalue로 사용할 수 없지만 ++i는 사용할 수 있습니다.lvalue는 메모리에 특정 저장 주소를 가진 객체에 해당하는 표현식의 값이고, rvalue는 lvalue가 아닌 모든 표현식의 값입니다. 일반적으로 lvalue는 할당 기호의 왼쪽에 배치할 수 있는 변수입니다.
그러나 값을 할당할 수 있는지 여부는 lvalue와 rvalue를 구별하는 기준이 아닙니다. 예를 들어 C++의 const lvalue는 할당할 수 없지만 임시 객체인 rvalue는 할당할 수 있습니다. lvalue와 rvalue의 근본적인 차이점은 주소 및 연산자가 해당 메모리 주소를 얻을 수 있는지 여부입니다.
예:
int i = 0; int *p1 = &(++i);//正确 int *p2 = &(i++);//错误 ++i = 1;//正确 i++ = 1;//错误
PHP 중국어 웹사이트, 다수의
프로그래밍 입문위 내용은 i++와 ++i의 차이점과 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!