게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
질문좀드립니다.
게시물ID : programmer_13221짧은주소 복사하기
작성자 : 콩장
추천 : 0
조회수 : 291회
댓글수 : 2개
등록시간 : 2015/09/11 14:30:22
옵션
  • 본인삭제금지
예전에 질문했었었는데 잘이해가안가는부분이있어서요..
#include <stdio.h>

1 void SwapIntPtr(int **p1,int **p2)
2 {
3 int *temp=*p1;
4 *p1=*p2;
5 *p2=temp;
6 }
7 int main()
8 {
9  int num1=10,num2=20;
10 int *ptr1,*ptr2;
11 ptr1=&num1, ptr2=&num2;
12 printf("*ptr1, *ptr2: %d %d\n",*ptr1,*ptr2);
 
13 SwapIntPtr(&ptr1,&ptr2);
14 printf("*ptr1, *ptr2: %d %d \n",*ptr1,*ptr2);
15 return 0;
}
 
SwapIntPtr(int **p1,int **p2)함수가 잘 이해가안되서요..
&ptr1,%ptr2의 주소값을 전달받기위해서 더블포인터를 사용하는건 이해가 되는데요
함수내용을보면 *p1 *p2를 이용해서 스왑을 진행하는데 왜 싱글포인터를 사용하는건가요?
전 더블포인터를 이용해야할꺼같은데 이해가 가질않네요..
pt1 , ptr2의 주소값을 넘겨받기위해 **를 썻으면 함수의 내용에서
p1,p2역시 **를 사용해야하지않는건가요?
포인터를 글로써 설명드리기 힘들다고들하시더라구요. 초보를위해 힘드시겠지만
부탁좀드립니다.
 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호