>일반적인 문제 >*p++와 (*p)++의 차이점은 무엇인가요?

*p++와 (*p)++의 차이점은 무엇인가요?

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌원래의
2023-05-23 11:48:198791검색

*p++와 (*p)++의 차이점은 다음과 같습니다. 1. *p++는 후위 증가 연산자의 조합이고, (*p)++는 *p 표현식에 적용되는 후위 증가 연산자입니다. 2. *p++ 표현식은 먼저 "p"가 가리키는 값을 반환한 다음 "p"를 증가시킵니다. (*p)++는 "p"가 가리키는 값을 반환한 다음 해당 값을 증가시킵니다.

*p++와 (*p)++의 차이점은 무엇인가요?

이 튜토리얼의 운영 체제: Windows 10 시스템, C18 버전, Dell G3 컴퓨터.

*p++와 (*p)++

*p++와 (*p)++의 차이점은 두 가지 다른 표현입니다.

  1. *p++: 이는 후위 증분 연산자의 조합입니다. 먼저 *p 표현식은 포인터 p를 역참조하고 포인터가 가리키는 값을 반환합니다. 그런 다음 포인터 p가 증가하고 다음 요소를 가리킵니다. 따라서 이 표현식은 먼저 p가 가리키는 값을 반환한 다음 p를 증가시킵니다.

  2. (*p)++: *p 표현식에 적용되는 후위 증가 연산자입니다. First(*p)는 포인터 p를 역참조하고 포인터가 가리키는 값을 반환합니다. 그런 다음 값이 증가합니다. 따라서 이 표현식은 먼저 p가 가리키는 값을 반환한 다음 해당 값을 증가시킵니다.

다음은 둘 사이의 차이점을 보여주는 샘플 코드입니다.

#include <iostream>
int main() {
int arr[] = {1, 2, 3};
int* p = arr;
std::cout << *p++ << std::endl;    // 输出: 1
std::cout << *p << std::endl;      // 输出: 2
p = arr;
std::cout << (*p)++ << std::endl;  // 输出: 1
std::cout << *p << std::endl;      // 输出: 2
return 0;
}

위의 예에서 *p++는 먼저 p가 가리키는 값 1을 출력한 다음 p를 다음 요소로 증가시킵니다. 이제 p 포인트입니다. 2. 그리고 (*p)++는 먼저 p가 가리키는 값인 1을 출력한 다음 그 값을 증가시킵니다. 이제 p가 가리키는 값은 2입니다. 이는 둘 사이의 차이점을 보여줍니다.

위 내용은 *p++와 (*p)++의 차이점은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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