[자료구조] 포인터의 의미와 사용법(참조연산자 *, 주소연산자 &)

2021. 4. 25. 11:46
728x90

 

 

포인터 변수 (Pointer Variable)

: 메모리주소(Memory Address) 값을 저장하는 변수

 

int *ptr_int = NULL;
자료형 (a) * 연산자(b) 변수 이름 (c)
int * ptr_int

- NULL로 초기화

 

int int_value = 100;

int *ptr_int = NULL;
ptr_int = &int_value;

포인터 변수에는 int_value의 시작 주소값이 저장된다.

주소를 저장할때에는 "&" 연산자를 사용한다.

 

+ 기본적으로 주소를 가르키는 포인터의 크기는 4byte를 이용한다.

 

포인터 변수의 초기화

방법 1) 변수의 초기화 방법 2) 값 설정
int *ptr_int= &int_value; int *ptr_int = NULL;
ptr_int = &int_value;

 

주소 연산자 "&" - 앤퍼센트

 

포인터 변수 = &변수

 

float float_value = 5.23f;
float *ptr_float = NULL;

ptr_float = &float_value;

 

참조 연산자 *

 

 *포인터변수 = 값; 

선언을 함과 동시에 초기화를 하는 것.

 

char char_value_A = 'A';
char *ptr_char = &char_value_A;

*ptr_char = 'X'; //값 대입

char *ptr_char = &char_value_A;
*ptr_char = 'X';

해당 주소에 있는 값이 'X'로 변경됨


 *포인터변수 = 변수; 

char char_value_A = 'A';
char char_value_B = 'B';
char *ptr_char = &char_value_A;

*ptr_char = char_value_B;	//변수 이용하여 대입

char *ptr_char = &char_value_A;
*ptr_char = char_value_B;

해당 주소에 있는 값이 char_value_B의 값으로 변경됨


변수 = *포인터변수

char char_value_A;
char char_value_B;
char *ptr_char = NULL;

char_value_A = 'A';
char_value_B = 'B';
ptr_char = &char_value_A;
char_value_B = *ptr_char;

char_value_B = *ptr_char;

ptr_char 주소에 있던 값을 char_value_B에 넣음

char_value_B = "A" 가 된 것.

반응형

BELATED ARTICLES

more