"point" + "er" = "pointer" (가리키는 것)
포인터 변수 안에는, "가리키고자 하는 것의 주소"를 자신의 값으로 가짐
& * 기호를 주로 사용
-> 변수 선언, 값 설정, 변수 초기화
int num = 5;
printf("변수 num의 주소 :: %d\n", &num);
printf("변수 num의 값 :: %d\n\n", num);
int* ptNum; // 변수 선언 :: (자료형)* (변수이름);
ptNum = # // 값 설정 :: (변수이름) = &(가리킬 변수이름);
printf("ptNum의 값 :: %d\n", ptNum); // num의 주소값과 동일
printf("ptNum 값을 통해 가리킨 변수의 값 :: %d\n", *ptNum); // num의 값과 동일
// 1. int형 배열 arr[5]를 선언해두고 5개의 숫자를 입력받는다.
int arr[5];
for (int i = 0; i < 5; i++) {
scanf("%d", &arr[i]);
}
// 2. 포인터 변수 ptArr를 선언한다
int* ptArr;
// 3. ptArr를 통하여 arr의 값들을 출력하는 방법이 2가지
// printf("%d", arr);
ptArr = arr; // arr :: 단독으로 쓰면, 배열의 시작 주소 반환
for (int i = 0; i < 5; i++) {
// 1) * 사용하는 경우
printf("%d ", *(ptArr+i)); // ptArr :: arr의 첫번째 값 저장된 공간
// 2) * 사용하지 않는 경우
printf("%d", ptArr[i]); // ptArr 단독 사용 결과 = arr 단독 사용 결과
}