C언어

C언어 포인터

도라에몽의 주머니 2022. 7. 18. 15:36
반응형

C언어의 꽃 포인터다!

 

내가 학부 1학년때 C언어를 배우다가 포인터에서 막혔는데

 

졸업하고 1년 지난 지금 정보처리기사 공부를 하면서

 

포인터를 완.전.이.해 해버렸다

 

그때는 왜 몰랐지?? 흐음...

 

어찌보면 내가 제어과여서 코딩의 중요성을 간과했을지도 모른다..

 

오히려 컴공이었다면 엄청 팠겠지..

 

다만 지금은 이제 아예 이 길로 가려고 마음을 먹어서 완전한 공부를 지향하고있다.

 

 

 

대표적인 swap을 포인터를 사용해서 하는 것이다. 이게 주소 참조였나? 그거였을 거다 아마

 

void swap(int *x, int *y)

{

int temp;

temp = *x;

*x = *y;

*y = temp;

}

 

이러면 스왑 끝이다! 교환 !!

참고로 &는 주소 불러오는 것이라 *인 포인터와 찰떡궁합을 맞아야한다.

 

값을 넣게 되면 짜자잔 교환 완료~

 

사실 포인터도 이중포인터가 있고 더 어려운 코드도 있지만

 

강의에서는 완전 기초를 나타낸것 같다.

 

포인터 변수의 값을 바꿔보자면

 

 

 

이런식으로 가능하다.

 

*p 포인터 p변수 선언

p = &i; i주소를 p에다 넣는다.

 

그러면 i가 10이었으니 p가 곧 i의 주소를 따라가므로 같이 10이 되고

 

포인터 p의 값을 20으로 바꿧으니 i도 같이 20으로 따라간다. (주소가 같으니까)

 

주소를 따라간다는게 핵  심!

 

 

반응형