아주 간단한 포인터를 이용한 자리바꾸기 문제..
소유
2024.09.09
이문제의 목적은 우선 변수 a와b를 선언 하고 그것을 가리키는 포인터를 선언후 간접접근을 통해 값을 1감소시킨다음에
포인터가 가르키는 것을 서로 바꾸는 것입니다 예를들면 p1이 가리키고있던게 a였다면 b로.. 서로 바꿔주는 것인데
아래의 코드대로 실행을 하면 둘다 19가 나와서 값이 한쪽만 바꼈다는걸 확인할수있습니다.
어떻게 이렇게 되는거죠?.. 하나만 값이 바뀌다니 궁금해서 이유를 설명해 주셨으면 합니다..#include stdio.h
int maRint main(void)
{
int a=10,b=20;
int* p1=&a,*p2=&b;
(*p1)--;
(*p2)--;
*p1=b;
*p2=a;
printf(p1는:%d, p2는:%d\n,*p1,*p2);
system(pause);
return 0;
}
-
아이뻐 2024-09-09
아..지금 제가 다시 보면서 생각해 보니까 왜 그런지 알겠네요.. p1을 b로 바꿔줬으니까 p1이 가지고있던 a값 자체가 19가 되어버린거 같군요.. 그래서 출력값이 같게 된거고.. 알겠습니다 이제 하하하;
-
하루 2024-09-09
아..저기 코드 보시면*p1=b; *p2=a; 이 부분을 통해서 서로를 바꿔줬는데 p2 부분이 바뀌지 않았다는 뜻입니다.
-
설희 2024-09-09
둘다 19가 나와서 값이 한쪽만 바꼈다는걸 확인할수있습니다. 이 부분 이해가 안가네요..
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |
2675249 | C책 좀 추천해 주세요 (2) | 딸기우유 | 2024-11-16 |
2675193 | 연습문제 17-1 질문입니다. | 한별나라 | 2024-11-15 |
2675172 | 소스점 | 아이뻐 | 2024-11-15 |
2675146 | 단순 연결 리스트인데 출력결과가 이상하게 나와요. | 찬늘봄 | 2024-11-15 |
2675123 | c언어에서 16진수의 사용에 대한 질문입니다.(정확한답만 달아주시길..) (8) | 데이비드 | 2024-11-15 |