포인터에 대해 질문좀 드릴게요....
주미
2023.04.01
#include stdio.h
void main()
{
int *p , q;
p = &q;q =1;
printf(%p\n,p);
*p++;// ??
printf(%d %p\n, q, p);
(*p)++;// ??
printf(%d %p\n, q, p);
}
이러한 소스인데
출력 결과가
0012FF78
10012FF7C
10012FF7D
이렇게 나옵니다. 왜 이렇게 나올까요??
(*p)++는 p가 가리키고 있는 값을 증가시키는 건데 왜 주소값이 1증가할까요?? 설명 좀 해주세요..
-
잔디
*p++;
은 아래 2줄과 같습니다.
*p; //무시가 됩니다.
p++;
여기서 포인터가 증가됩니다. -
희나리
쪽지 보냈습니다.
-
남자
*p++ 때문에요.