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으로 따라간다. (주소가 같으니까)
주소를 따라간다는게 핵 심!
반응형