본문 바로가기

Programming/C/C++

[파크야의 C언어] 1. 포인터

[파크야의 C언어] 1. 포인터




늘부터 조금씩 C언어에 대한 내용을 다루어 보겠습니다.

기초적인것은 인터넷에 너무나 많아서 저까지 거기에 합류할 필요는 없으니, C언어 후반부 내용에 해당하는

포인터와 구조체부터 나가겠습니다. 


대부분 이 난해한 내용 떄문에 포인터 앞에서 무릎을 꿇게 되죠. 물론 저 또한 ㅜ.ㅜ

그러나, 꾸준히 하시다 보면 C언어도 별거 아닙니다.. 아닐겁니다;;;


UNIX를 다루어 보신 분들은 포인터를 배우실떄 심볼링 링크와 하드링크 의 개념으로 접근 하시면

이해가 쉽습니다.


포인터는 표지판과 같다고 볼 수 있습니다.

가르키는 역할을 하니까 말이죠.


포인터는 변수등이 저장되어 있는 주소를 값으로 가지는 변수 라고 정의를 내릴 수 있습니다.

포인터에도 형이 있습니다.


가령 char 형의 포인터 변수 p를 선언할 경우는 다음과 같습니다.


char *p;    또는 chap* p;  라고 선언해 주시면 됩니다.



포인터에 주소를 대입할떄는 다음과 같이 쓰시면 됩니다.



char a;

char *p;

p = &a;





자 직접 코딩으로 결과를 눈으로 확인 하시는게 이해가 빠르실 것입니다.


#include <stdio.h>


main()

{

char x = 5, y;

char *p = &x;

y = *p;

printf("변수 x의 값은 %d 입니다 \n",y);

return 0;

}



결과: 변수 X의 값은 5입니다.