아주 간단한 포인터를 이용한 자리바꾸기 문제..
소유
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가 나와서 값이 한쪽만 바꼈다는걸 확인할수있습니다. 이 부분 이해가 안가네요..
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2690486 | 문자열과 문자형이요 ~ | 다스리 | 2025-04-05 |
2690344 | 일본어 주석 깨짐 문제 (3) | 연하얀 | 2025-04-04 |
2690314 | 암호문 만들기 -비제네르- | 이퓨리한나 | 2025-04-03 |
2690292 | 왕초보자의 질문!!!!!! 도와주세요 (1) | 하랑 | 2025-04-03 |
2690269 | 정올 문제 인데.. 흠 | 반월 | 2025-04-03 |
2690237 | sizeof에서 short형을 썻는데 왜 4byte가 나올까요? (1) | 바나나 | 2025-04-03 |
2690183 | 문자열과 포인트 비교 (2) | 미즈 | 2025-04-02 |
2690154 | a -48 ? | 희미한눈물 | 2025-04-02 |
2690094 | 테트리스 질문요. | 지후 | 2025-04-01 |
2690066 | 문자열비교!! (1) | 매디 | 2025-04-01 |
2689888 | 좀도와주세요;; ㅠㅠ | 사람 | 2025-03-30 |
2689856 | 메뉴 그리는 거 질문 | 나라빛 | 2025-03-30 |
2689831 | c언어 프로그램 추천 | 하연 | 2025-03-30 |
2689801 | c언어 time.h에서 작동이 중지되었습니다. | 하람 | 2025-03-30 |
2689772 | 2차원 배열의 배열명에 대해서.. | 옆집꼬마야 | 2025-03-29 |
2689740 | 게임 TCP소켓 질문 (2) | 불꾼 | 2025-03-29 |
2689711 | 반복문 모래시계 | 한뎃집 | 2025-03-29 |
2689685 | 경우의 수에 따른 결과 처리 질문드립니다. (2) | 다흰 | 2025-03-29 |
2689655 | .exe에 아이콘 넣는 법좀 알려주세요 | 연하얀 | 2025-03-28 |
2689631 | #define 전처리문에 대해서 (2) | 사랑은아픔 | 2025-03-28 |