양사 2018. 4. 11. 06:00
c언어
포인터

포인터의 개념은 자바같은 곳에서는 겉으로 드러나 있지 않습니다.
포인터의 정의는 '특정 변수의 저장값의 주소를 저장하는 변수'로 볼 수 있습니다.
포인터를 정의할 때는 변수명 앞에 *을 붙여야 합니다. 보통 가리킬 변수의 자료형으로 선언합니다. 이때 상수이므로 이 포인터끼리도 지지고 볶을 수 있습니다.
예시를 보여드리겠습니다.
int a; //일반 변수 선언
int *b; //포인터 선언
a=0; //일반변수를 0으로 초기화
이렇게 선언하였습니다.
이제 알아야 할 개념이 있습니다. *은 포인터였다면, &은 주소입니다. &을 쓰면 해당 변수의 주소가 반환됩니다.
예로
b=&a;
라고 선언하면 b에는 아까 지정한 0이 아닌 a의 주소가 들어갑니다.
이제
*b=5;
를 하면 b가 가리키는 변수인 a의 값이 5로 변경됩니다.