포인터 주소값에 관련해서 질문드립니다. 도와주세요.ㅠㅠ
맑은
#include stdio.h----------1
int main(void)----------2
{----------3
int a=2005;----------4
int* pA=&a;----------5
printf(pA: %d \n, pA);----------6
printf(&a: %d \n, &a);----------7
pA+=1;----------8
printf(pA: %d \n, pA);----------9
printf(a: %d \n, a);----------10
printf(*pA: %d \n, *pA);----------11
return 0;----------12
}----------13
열혈강의 295p에 있는 소스인데요. 제가 궁금해서 소스를 조금 수정했습니다.
저기 8줄에 pA+=1; 이렇게 선언을 했잖아요. 그리고 나서 출력을 하니깐
6, 7번째 줄에 비해서 값이 4가 증가됐더라구요. 여기서 4가 증가했다는건 어떤 의미입니까?
아직 많이 부족합니다.ㅠ 도와주세요.
내 취향에 딱 맞는 브랜드별 혜택+중복 쿠폰! 지금 롯데온에서 만나보세요!
수출C/T, 소량제작주문박스, 좋은 품질, 빠르고 안전한 배송, 실시간 견적 상담
시약하면 씨그마 알드리치, 역시 이유가 있죠
365일 초저가, 100% 정품, 증정, 행사, 금액대별 사은품! DPA
미아알티지오메가3/건기식 택배 배송 가능!/100평 대형약국 보룡약국/친절상담!
-
카제
sizeof(int)가 4일 경우에는 4만큼 증가하게 됩니다.
-
가지등
pA출력값이 주소값이 아닌가요?
주소값에서 sizeof(int)만큼 4만큼 증가한다는 것인가요? -
겨울바람
pA+=1;의 뜻은
pA가 int * 변수이므로
pA가 sizeof(int)만큼 늘어나게 됩니다.