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