디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

님들 제가 생각해낸 포인터 공부방법 평가점 ㅋㅋ

다들알겟지만(211.104) 2011.08.31 17:24:51
조회 112 추천 0 댓글 4

혼자 고민고민하다 생각해냇음 포인터 공부할때 힘들어하는사람들에게 가르쳐주면

좋을것같음 실제로 동기한테 설명했더니 이해가 엄청 잘된다고 했었음

포인터는 어떠한 변수의 주소값이다

int a=10;
int *a1=&a;라고 하면

a1는 a의 주소값이고 *a1은 주소값이 가진 값 즉 a인 10이다   //여기까지가 기본적인 포인터지식

C언어를 처음 배우면서 swap함수라는것을 만들어 보게 될텐데 포인터 연산을 아주 쉽게 해낼수 있는 방법이 있다

3중이나 4중 포인터로 보여줄수도 있겠으나 편의상 2중포인터로 설명하겠음

swap(int **a,int **b)
{
    자 여기를 어떻게 채울까
}
일단 메인함수를 보겠다

int main()
{
    int ap=10,bp=20;
    int *ap1=&ap, *bp1=&bp;        //여기를 잘보면 ap의 포인터 ap1을 선언햇음을 알수있다
    swap(&ap1,&bp1);                //&의 연산의 의미는 C언어에서 주소값을 반환함을 의미한다 고로 swap함수의 매개변수는
}                                                  1중포인터의 주소값을 전달햇으므로 2중 포인터가 된다 그래서 매개변수가 **a인것이다

이제 스왑함수의 몸체를 채워볼껀데 일단 스왑함수 호출전의 가리키는 현황인데 2중포인터를 이용해서
(ap <- ap1 <- &ap1 를 ap <- bp1 <- &bp1)              1중포인터가 가리키는 주소를 바꿔치기 할 것이다.
(bp <- bp1 <- &bp1 를 bp <- ap1 <- &ap1)           <----- 실제로 가리키게되는게 요렇게 바뀐다.

우선 임시자료인 temp(옴겨담을 그릇)를 선언을 할것인데 앞서말했든 이중포인터가 가리키는 값(일중포인터가 가리키는 주소)을 바꿀것이기 때문에 템프를 int *temp; 로 선언을 한다        이제부터 가장 중요한 스킬인 포인터 안 햇갈리는 방법을 가르쳐주겟다
이중포인터가 가리키는값은 1중 포인터이기때문에 temp에 *이 하나만 붙는것이다.

스왑함수의 매개변수 **a를 보겠다 앞서 말했듯 별을 붙이면 그 주소가 가진 값을 의미한다 고로

**a 는 메인함수의 ap를 의미한다
<정 리>
매개변수 a == &ap1(메인함수의 ap1의 주소값)
매개변수 *a == ap1(메인함수의) == &ap(메인함수의)
매개변수 **a == ap(메인함수의)

보다시피 매개변수에 하나도 별을 안붙엿을경우 메인에서 swap함수에 넣었던 &ap1이 들어간다

여기서 별을 하나씩 붙일때마다 가리키는 주소값이 가진 값을 의미하게 된다

이것으로 swap 함수를 만들어보면

void swap(int **a, int **b)
{  
    int *temp=*a;
    *a=*b;
    *b=temp;
} 가 되는것이다
*a는 정리에서 보다시피 ap1 즉 ap의 주소값과 같으므로 1중포인터가 된다

일중포인터를 스왑할것이기에 임시변수도 *temp가 되는것이다.

스왑함수 호출뒤 *ap1,*bp1 을 출력해보면 20 10 으로 값이 뒤바뀐것을 확인할수있다

이해를 했다면 3중 4중포인터로도 연습을 해보면 좋을것같다

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 반응이 재밌어서 자꾸만 놀리고 싶은 리액션 좋은 스타는? 운영자 25/07/28 - -
AD 휴대폰 액세서리 세일 중임! 운영자 25/07/28 - -
270314 횽들 직업란에 회사원이라고 적냐 프로그래머라고 적냐?? 쿄스케갤로그로 이동합니다. 11.09.07 82 0
270312 비트다니시는 형님들 질문있습니다 [33] Enoch갤로그로 이동합니다. 11.09.07 222 0
270311 자바 인텔리센스 기능 업그레이드 할수있어? arduous갤로그로 이동합니다. 11.09.07 37 0
270308 빌어먹을 대기업 [1] Kirov갤로그로 이동합니다. 11.09.07 77 0
270307 진리의디버거 [3] deveun갤로그로 이동합니다. 11.09.07 66 0
270306 EJB는 실무에서 별로 안쓰지??? [1] 거칠게갤로그로 이동합니다. 11.09.07 87 0
270305 근데 구글 코드 잼 파이널 나가면 ㅁㄴㅇㄹ(130.126) 11.09.07 60 0
270300 게임 만들꺼 아니면 물리학 공부 안해도 되지?? [2] 거칠게갤로그로 이동합니다. 11.09.07 118 0
270297 코드고쳐서 컴파일까지는 됬는데 이번엔 실행시키면 바로 꺼져요 ㅜㅜ [8] 하양(61.73) 11.09.07 96 0
270296 근데 [2] ㅁㄴㅇㄹ(130.126) 11.09.07 77 0
270295 보통 연애하면 몇일이면 쎾쓰 하냐?? [2] 거칠게갤로그로 이동합니다. 11.09.07 141 0
270294 여자 가슴 한번 못만져 보고 크기를 논하지 마라. 크기별 느낌을 알려주깨 [2] iljeomobolt갤로그로 이동합니다. 11.09.07 2266 0
270292 나는 독실한 크리스천이기 때문에 [5] ㅁㄴㅇㄹ(130.126) 11.09.07 96 0
270290 아스횽 형이 좀 보재 y녀6디리(220.118) 11.09.07 47 0
270288 java 기촌데 궁금해요..... [4] 화이트순수갤로그로 이동합니다. 11.09.07 70 0
270287 c++ 텍스트 파일 읽어서 출력하는 코드인데요 자꾸 에러가나요 ㅜㅜ [3] 하양(61.73) 11.09.07 69 0
270285 다이어트의 최고봉은 바로 이거다!(배나온 프겔러들 주목) [1] 거칠게갤로그로 이동합니다. 11.09.07 77 0
270282 여자의 슴가는 한손으로 쥐었을 때 꽉 차는 정도가 딱이다. [8] 거칠게갤로그로 이동합니다. 11.09.07 167 0
270280 듀얼모니터가 좋긴한데 시선이 분산된다. [2] 거칠게갤로그로 이동합니다. 11.09.07 73 0
270278 진짜 삼성은 잘 베끼긴 한다. 역시 복사 전자인가 [2] 거칠게갤로그로 이동합니다. 11.09.07 102 0
270276 학부생인데 [1] ㅁㄴㅇㄹ(130.126) 11.09.07 58 0
270275 프로그래머라면 빌게이츠, 잡스의 실리콘 밸리 전쟁 봐라 [2] 거칠게갤로그로 이동합니다. 11.09.07 144 0
270274 자바 멀티쓰레딩으로 처리속도좀 올려볼려고하는데.. 횽들 좀 도와줘 [11] System32(203.249) 11.09.07 106 0
270272 토끼드롭스 꼭 봐라 두번 봐라 [3] y녀6디리(220.118) 11.09.07 99 0
270271 아무래도 월급이 이상해 ;;;내가 바본가? [14] 좋은아버지갤로그로 이동합니다. 11.09.07 210 0
270269 IT쪽은 안철수냐 박근혜냐 [4] 장어구이(211.245) 11.09.07 168 0
270268 boolean serarch에서 말야... [6] boolean(163.152) 11.09.07 74 0
270267 리눅스 페도라 질문점요 ㅠㅠ [2] ㅇㅇㅇ(117.16) 11.09.07 78 0
270263 내가 안철수면 단일화 안 하고 독자출마함 [4] 분당살람갤로그로 이동합니다. 11.09.07 91 0
270262 여자는 믿을게 못돼 [1] 객사(203.230) 11.09.07 100 0
270259 [조공있음]모바일웹이나 앱 하는 횽들 있나 [4] 바일모(221.139) 11.09.07 147 1
270258 한국과 미국의 IT기술차이란 이런걸까 [2] ㅇㅇ(61.77) 11.09.07 122 0
270257 자바는 참 좋은거같아.. [3] arduous갤로그로 이동합니다. 11.09.07 82 0
270256 얼마전 소개팅나갔을때 [3] 一ㅡ갤로그로 이동합니다. 11.09.07 93 0
270255 형들 좋은 아침 ~~ [2] ㅡ@ㅡ갤로그로 이동합니다. 11.09.07 53 0
270254 흔한 백신회사의 소프트웨어 개발현장.png [4] qt^갤로그로 이동합니다. 11.09.07 234 0
270253 하이~~ 조은 아침이다~~ [3] 거칠게갤로그로 이동합니다. 11.09.07 66 0
270252 자료구조에서 뭘 배울수있나? [6] 차도컴공남갤로그로 이동합니다. 11.09.07 109 0
270251 To 일광면(2) [2] Agangs갤로그로 이동합니다. 11.09.07 73 0
270249 [2] 오마이갓넬갤로그로 이동합니다. 11.09.07 63 0
270247 야이 잉여새키들아 너희들이 우리나라의 미래다 나는관대하다갤로그로 이동합니다. 11.09.07 45 0
270246 웹디자이너 지망인데 php 배울만함? [2] ㅇㅇ(211.223) 11.09.07 94 0
270244 조금 시간 남아서 프갤에 쫌 놀고 있엇는데 [3] 일광면(119.198) 11.09.07 131 0
270243 지금 스트러츠2 공부중인데 모바일도 같이 하고싶음 [3] Regi☆갤로그로 이동합니다. 11.09.07 63 0
270242 C랑 C++ 공부하고 윈도우 API 공부하려고 하는데 좋은 책있어요? [2] 새롬이(220.86) 11.09.07 143 0
270241 토익 스피킹 vs Opic ??? [2] [성대아싸]갤로그로 이동합니다. 11.09.07 93 0
270240 오늘 한것 ㅋ [5] [성대아싸]갤로그로 이동합니다. 11.09.07 114 0
270239 현재상황 [10] 뇌지랄갤로그로 이동합니다. 11.09.07 195 0
270238 안드로이드 앱 [1] ㅁㄴㅇㄹ(130.126) 11.09.07 52 0
270237 To 일광면 [6] Agangs갤로그로 이동합니다. 11.09.07 99 0
뉴스 '아이쇼핑' 염정아의 추악한 민낯... 딸 원진아 향한 악랄한 한마디! “여길 오면 어떡해. 그때 죽었어야지” 디시트렌드 14:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2