2017-01-11 4 views
-1

나는 x 포인터 인 경우GDB에서 * (x + value) = value는 무엇을합니까?

* = 역 참조

*x = 역 참조 xx의 값을 잡기 위해 이해합니다.

*x = 5x이 변수이고 x 변수가 있으면 x = 5로 설정하십시오.

여기에 + 값 부분은 무엇을합니까?

Ie. 

x = 5 

*ptr; 

ptr = &x 

*ptr gives us 5. 
+1

먼저, 게시 한 스 니펫에 '* x'가 없습니다. 둘째, '* x = 5'는 'x'를 '5'로 설정하지 않고 '* x'를 '5'로 설정합니다. – AnT

+0

이것은 일반적인 C 구문입니다. 자세한 내용은 C 책을 참조해야합니다. – Olaf

답변

2

x + 5x의 값 5*sizeof(*x) 추가하고 그 위치를 역 참조.

*(x + 5)은 정확히 x[5]과 같습니다.

+0

그래서 x + 1이면 1 * sizeof (* x)는 x의 기본 주소가됩니다. 감사합니다. – TigerCode

+0

@TigerCode 실제로'0 * sizeof (* x)'는'x'에 추가 될 때 기본 주소를 제공합니다. – dbush