>  기사  >  *p+1과 *(p+1)의 차이점은 무엇입니까?

*p+1과 *(p+1)의 차이점은 무엇입니까?

zbt
zbt원래의
2023-06-25 14:04:486621검색

*p+1과 *(p+1)의 차이점은 다음과 같습니다. 1. 우선순위가 다릅니다. p+1에서는 p가 먼저 역참조되고, *(p+1)에서는 p+1이 먼저 계산됩니다. 2. 작업 개체가 다릅니다. p+1은 p를 먼저 역참조하고, (p+1)은 p에 1을 먼저 추가합니다. 결과는 다릅니다. p+1은 값에 1을 추가합니다. p가 가리키는 객체, (p+ 1)은 p가 가리키는 다음 객체의 값입니다.

*p+1과 *(p+1)의 차이점은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 10 시스템, DELL G3 컴퓨터.

*p+1과 *(p+1)의 차이점은 무엇인가요? 나는 많은 네티즌들이 아직 그것에 대해 명확하지 않다고 생각합니다. 오늘 편집자는 당신에게 도움이되기를 바라며 관련 튜토리얼을 가져 왔습니다.

*p+1과 *(p+1)의 차이점은 무엇입니까?

1. 우선순위가 다릅니다.

p+1과 (p+1)은 작업 우선순위가 다릅니다. C/C++에서는 연산자(역참조 연산자)와 +(덧셈 연산자)의 우선순위가 다릅니다. 더하기 연산자는 역참조 연산자보다 우선순위가 낮습니다. 따라서 p+1에서는 p가 먼저 역참조되고 *(p+1)에 1이 추가됩니다. 괄호를 추가하면 우선순위가 변경되므로 p+1이 먼저 계산된 다음 역참조됩니다.

2. 연산 객체가 다릅니다

p+1과 (p+1)이 연산하는 객체도 다릅니다. p+1은 먼저 p를 역참조하고 p가 가리키는 객체를 가져온 다음 객체에 1을 추가합니다. 그리고 (p+1)은 먼저 p에 1을 추가하여 다음 개체를 가리키고 새 개체를 역참조합니다.

3. 결과가 다릅니다

p+1과 (p+1)의 결과가 다릅니다. p+1은 먼저 p를 역참조하고 1을 더하므로 결과는 p가 가리키는 객체의 값에 1을 더한 값이 됩니다. 그리고 (p+1)은 p에 1을 더한 다음 이를 역참조하므로 결과는 p가 가리키는 다음 객체의 값이 됩니다.

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

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