디시인사이드 갤러리

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

갤러리 본문 영역

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

다들알겟지만(211.104) 2011.08.31 17:24:51
조회 113 추천 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 - -
270484 최적화 좋지... [8] monoless갤로그로 이동합니다. 11.09.07 92 0
270483 이거 소스좀 알려주세여 : ( [15] 자바허접(112.144) 11.09.07 126 0
270482 님들은 무슨언어 전문으로함? [3] 박구갤로그로 이동합니다. 11.09.07 83 0
270481 프로그래밍 분야 중에 디자인 분야도 있나요? [3] ㅇㅇ미(119.69) 11.09.07 84 0
270480 횽들 나 자바 공부하는데 DB로는 mysql이 나을까 오라클이 나을까? [4] ㅇㅇㅇ(122.38) 11.09.07 103 0
270479 연분수를재귀함수로표현하기 [1] 나에갤로그로 이동합니다. 11.09.07 219 0
270478 컴퓨터 공학 분야에서 정말 필요한건... [2] AI(122.202) 11.09.07 135 0
270476 자바듣는데 객체도를 그려오라는데요 ㅠㅠ [4] 멍멍(211.245) 11.09.07 67 0
270474 요즘 누가 pl-sql 프로시저 짜냐 [5] Regi☆갤로그로 이동합니다. 11.09.07 113 0
270471 왜이리 개판이야? blackd갤로그로 이동합니다. 11.09.07 73 0
270470 형들 요즘 내가 게시판 만들고 있는데 여기서 더 필요한 기능이 있을까 ? [16] ㅡ@ㅡ갤로그로 이동합니다. 11.09.07 106 0
270468 SI 가 제일 거지 같을때는 명절날 오픈하는 사이트지 ㅋㅋ 명절이 없당께 [1] 허세강갤로그로 이동합니다. 11.09.07 99 0
270464 복잡한 쿼리문은 그냥 [16] Regi☆갤로그로 이동합니다. 11.09.07 167 0
270462 아무래도 나 구글 갈거 같다. 쵸쵸(219.251) 11.09.07 74 0
270461 뉴비와 올드비에게 아주 유용한 프로그래밍 가이드를 발견했다. [4] 외계달팽갤로그로 이동합니다. 11.09.07 116 0
270457 지잡 of 지잡의 이야기 - 2.txt [1] 탐라국(121.159) 11.09.07 91 0
270455 퇴근 하면 외롭네 [2] Kanon갤로그로 이동합니다. 11.09.07 59 0
270454 지잡 of 지잡의 이야기 - 1.txt [4] 탐라국(121.159) 11.09.07 220 0
270452 야지금 빨리 티비앤틀어봐 호솽갤로그로 이동합니다. 11.09.07 75 0
270451 아이폰 삼성폰에 밀릴거같다 [5] ㅇㅇ(61.77) 11.09.07 97 0
270450 자료구조 공부하다가 한가지 의아한게 생겼어... [19] Agangs갤로그로 이동합니다. 11.09.07 203 0
270449 jsp책 추천좀 해주세요 [9] ㅇㅇ(121.137) 11.09.07 203 0
270448 시간이 지날수록 내가 부족하다고 느끼는데... [14] 탐라국(121.159) 11.09.07 122 0
270446 우리 러시아 가자... [3] iljeomobolt갤로그로 이동합니다. 11.09.07 108 0
270445 강심장 다운받아보는데 서현 진짜 이쁘다 하악하악 [2] 거칠게갤로그로 이동합니다. 11.09.07 101 0
270444 예전에는 동정했지만 지금은 동정할 여지가 없는 부류들이 있다 [3] Regi☆갤로그로 이동합니다. 11.09.07 108 0
270443 [3] 호솽갤로그로 이동합니다. 11.09.07 51 0
270442 솔직히 겁이 많이 나는건 [4] 이모군(175.114) 11.09.07 96 0
270441 요즘 내가 하고 있는 생각이 있는데 좋은아버지갤로그로 이동합니다. 11.09.07 79 0
270439 무식돋는 질문인데 답변좀..ㅠㅠ [10] 내알바아님갤로그로 이동합니다. 11.09.07 121 0
270438 지금 현업들 이력서에서 군대 관련 삭제 어떻게 생각함? [5] asdfxcz(125.139) 11.09.07 117 0
270437 프로그래머가 그렇게 힘들다던데 보안전문가쪽은어떤가요 [9] 뉴비(1.224) 11.09.07 172 0
270436 횽들은 배고프거나 머리 안돌아갈때 어떻게해? [7] Agangs갤로그로 이동합니다. 11.09.07 542 0
270435 내가 해본건데 사람갈굴 때에는 그게 짱이야 [19] 좋은아버지갤로그로 이동합니다. 11.09.07 176 0
270434 키넥트에 대해 아는형 없어? 아..ㅠ [6] +어게인갤로그로 이동합니다. 11.09.07 116 0
270431 아 내 동인지 어쩌나 - _-) [16] 땡칠도사갤로그로 이동합니다. 11.09.07 254 0
270430 php는 뭘로 써야되? [11] 신랑이(166.104) 11.09.07 160 1
270429 c++이 새로운 표준으로 바뀐다는게 사실인가염?? [11] 거칠게갤로그로 이동합니다. 11.09.07 190 0
270428 아슈발 [6] 호솽갤로그로 이동합니다. 11.09.07 109 0
270427 이거 편해보이네 Regi☆갤로그로 이동합니다. 11.09.07 64 0
270423 성님들 질문있습니다 [2] 123(210.218) 11.09.07 70 0
270422 하이버네이트니 아이바티스니 말고 이클립스링크는 안 쓰나? 하스켈(113.10) 11.09.07 70 0
270421 이번 하반기 공채 [2] Kanon갤로그로 이동합니다. 11.09.07 182 0
270420 여기 횽들중에 오디오 관심 있는 분 있나요? [5] 나비스(203.234) 11.09.07 84 0
270419 api와 mfc말입니다!! [5] Agangs갤로그로 이동합니다. 11.09.07 84 0
270417 <속보> 류담 결혼 [1] 좋은아버지갤로그로 이동합니다. 11.09.07 102 0
270416 C#질문입니다. 급해요 ㅠㅠ [3] 초보(61.40) 11.09.07 70 0
270415 제가뭐 ie6 안쓴다고 말이나했습니까 [2] 한국인(210.178) 11.09.07 84 0
270414 몇 라인까지 짜봤나요? [14] 라인(61.33) 11.09.07 155 0
270413 HTML5보다 CSS3를 찬양해라 [1] 취미가C#갤로그로 이동합니다. 11.09.07 131 0
뉴스 나나, 속옷 화보로 드러낸 완벽한 몸매와 압도적인 존재감...탄탄한 복부라인으로 섹시미 뽐내 디시트렌드 07.30
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2