C 언어 포인터 값형 변수와 참조형 변수
C 언어에서 변수 선언할 때 값형 변수와 참조형 변수로 구분할 수 있습니다. 참조형 변수가 포인터입니다.
<코드> pointer_variable_five.c
// pointer_variable_five.c
/*
값(Value)형 변수/배열
포인터(참조;Reference)형 변수/배열
*/
#include <stdio.h>
int main(void)
{
// Value Type 변수
int a = 10;
// Reference Type 변수: 포인터 변수
int* pa;
// 참조 추가
pa = &a; // 포인터 변수에 주소 대입
*pa = 20; // 역참조를 사용하여 포인터 변수가 참조하는 변수에 값 대입
// 값형 변수 표현
printf("[1] %d\n", a); // 20
printf("[2] %p\n", &a); // 000000FFC78FFC24 번지: 계속 바뀌는 부분
// 포인터형 변수 표현
printf("[3] %p\n", pa); // 000000FFC78FFC24 번지
printf("[4] %p\n", &pa); // 000000FFC78FFC48 번지
printf("[5] %d\n", *pa); // 20
return 0;
}
</코드>
<실행>
[1] 20
[2] 000000FFC78FFC24
[3] 000000FFC78FFC24
[4] 000000FFC78FFC48
[5] 20
</실행>
[2]번과 [3]번은 같은 주솟값이 나오고 [4]번 출력 결과는 이웃된 근처의 주솟값이 나옵니다. 이 주솟값은 계속 바뀌는 데이터입니다.
감사합니다.
Comments
Comments are closed