#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int num = 10;
int* ptr1 = #
int* ptr2 = ptr1;
(*ptr1)++;
(*ptr2)++;
printf("%d\n", num);
return 0;
}
포인터 int형 변수 ptr2는 ptr1 변수가 가지고 있는 num의 주소값을 가지기 때문에, 똑같이 변수 num을 가리킨다.
최종적으로 변수 num값을 출력하면 12가 출력된다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int num1 = 10;
int num2 = 20;
int* ptr1 = &num1;
int* ptr2 = &num2;
(*ptr1) +=10;
(*ptr2) -=10;
ptr1 = &num2;
ptr2 = &num1;
printf("%d 와 %d", *ptr1, *ptr2);
}
해설지에는 나처럼 아예 코드로 ptr1과 ptr2가 가리키는 대상을 직접적으로 바꾸지 않았고,
int형 포인터 변수 temp를 선언하여
temp=ptr1;
ptr1=ptr2;
ptr2=temp;
이렇게 나타내었다.
정말 유익한 글이었습니다.