미누에요
<윤성우의 열혈 C프로그래밍> :: 12. 포인터의 이해 문제풀이 본문
728x90
반응형
SMALL
문제 12-1
문제 1
아래의 예제 실행 시 변수와 포인터 변수의 관계를 그림을 그려서 설명해보자. 또한 출력의 결과도 예상해보자.
#include<stdio.h>
int main(void)
{
int num = 10;
int * ptr1 = #
int * ptr2 = ptr1;
(*ptr1)++;
(*ptr2)++;
printf("%d\n",num);
return 0;
}
문제 2
int 형 변수 num1과 num2를 선언과 동시에 각각 10과 20으로 초기화하고, int 형 포인터 변수 ptr1과 ptr2를 선언하여 각각 num1과 num2를 가리키게 하자. 그리고 이 상태에서 포인터 변수 ptr1과 ptr2를 이용해서 num1의 값을 10 증가시키고, num2의 값을 10 감소시키자.
이제 두 포인터 변수 ptr1과 ptr2가 가리키는 대상을 서로 바꾸자. 즉, 포인터 변수 ptr1이 num2를 가리키게 하고, 포인터 변수 ptr2가 num1을 가리키게 하자. 그리고 마지막으로 ptr1과 ptr2가 가리키는 변수에 저장된 값을 출력하자.
#include<stdio.h>
int main(void)
{
int num1 = 10, num2 = 20;
int * ptr1 = &num1;
int * ptr2 = &num2;
(*ptr1) += 10;
(*ptr2) -= 10;
ptr1 = &num2;
ptr2 = &num1;
printf("*ptr1 : %d, *ptr2 : %d\n",*ptr1,*ptr2);
return 0;
}
728x90
반응형
LIST
'C++' 카테고리의 다른 글
<윤성우의 열혈 C프로그래밍> :: 14. 포인터와 함수에 대한 이해 문제풀이 (0) | 2023.09.04 |
---|---|
<윤성우의 열혈 C프로그래밍> :: 13. 포인터와 배열! 함께 이해하기 문제풀이 (0) | 2023.09.04 |
<윤성우의 열혈 C프로그래밍> :: 11. 1차원 배열 문제풀이 (0) | 2023.09.04 |
<윤성우의 열혈 C프로그래밍> :: 10. 도전! 프로그래밍 1 문제풀이 (0) | 2023.09.04 |
3. 자료형 (1) | 2023.06.03 |