#include <stdio.h>
int main() {
// 포인터 : 주소를 저장하는 변수
int a = 10;
int *p = &a;
printf("a = %d\n", a);
printf("a의 주소 = %p\n", p);
// 포인터 변수 선언
// 자료형 *변수이름;
int *b;
// 변수 앞에 &을 붙이면 변수의 주소를 나타낸다
b = &a;
// 간접 참조 연산자 * : 선언된 변수 앞에 붙여서, 주소로 이동해서 그 값을 가져오라는 의미
*b = 20; // a = 20
printf("a = %d\n", a);
int x = 3;
int y = 7;
int *ptr = &x;
*ptr = y; // x =
ptr = &y; // ptr 변수에 y의 주소를 저장
*ptr = 10; // y = 10
//num1, num2의 값을 예상하기
printf("----문제----\n");
int num1 = 8, num2 = 15;
int *ptr1 = &num1;
int *ptr2 = &num2;
*ptr1 = *ptr2; // num1 = 15
ptr2 = ptr1; // ptr2 = num1의 주소 (&num1)
*ptr2 = 50; // num1 = 50
printf("num1 = %d\n", num1);
printf("num2 = %d\n", num2);
printf("num1의 주소 = %p\n", &num1);
printf("num2의 주소 = %p\n", &num2);
printf("ptr1 = %p\n", ptr1);
printf("ptr2 = %p\n", ptr2);
printf("----숙제----\n");
int c1 = 13;
int c2 = 26;
int *k = &c1;
int *t = &c2;
*k = *t; // c1 = 26
t = k; // t = &c1
*t = 50; // c1 = 50
k = &c2;
*k = 7; // c2 = 7
// c1, c2, k, t의 값을 예측해서 아래 답을 채워보세요.
// c1 = 50
// c2 = 7
// k = &c2
// t = &c1
printf("c1 = %d\n", c1);
printf("c2 = %d\n", c2);
printf("k = %p, %d\n", k, *k);
printf("t = %p, %d\n", t, *t);
return 0;
}
To embed this project on your website, copy the following code and paste it into your website's HTML: