포인터 두번째를 해보아요...
#include <stdio.h>
void swap(int pa, int pb) { //a ,b값이 차례로 pa,pb에 들어감
int tmp;
tmp = pa; //pa 값을 tmp에 저장
pa = pb; //pb 값을 pa에 골~
pb = tmp; //tmp값을 pb에 넣으면 15이겠쥬
}
int main() {
int a = 15, b = 25;
swap(a, b); //위로 가서 pa=15 , pb=25을 각각 넣어줌
printf("%d %d\n", a, b); //근데 바뀐건 pa,pb지 a,b가 아니라서 그대로 15,25 출력
return 0;
}
출력 값 =15,25
그러나...
#include <stdio.h>
void swap(int *pa, int *pb) { 2.주소값 을 각각 pa pb에 저장 주소값임 주소값!!
int tmp;
tmp = *pa; 3. 15을 넣어줌 주소가 가르키는 값을 넣어줌
*pa = *pb; 4. *pa는 pb가 가르키는 주소의 값인 25을 넣어줌
*pb = tmp; 5.이건 15가 들어가겠죠?3에서 했던
}
int main() {
int a = 15, b = 25;
swap(&a, &b); 1.주소값을 저장 값말구 주소!
printf("%d %d\n", a, b); 6. 25 15 로 바뀝니다
}
요거는 출력값이 25 15
훈수 둬주시면 감사합니다. 공부한걸 메모하고 배우고 싶어서 만들었습니다.
2일차 포인터 변수~c언어 (0) | 2022.12.06 |
---|---|
2일차 c언어 typedef~ (0) | 2022.12.06 |
구초제 -c언어 2일차~ (0) | 2022.12.06 |
f1.3일차 c언어 포인터 공부 일긔 (0) | 2022.12.05 |
1일차 대학생의 코딩공부 일기 일지인가? 암튼 c언어로 구조체 (0) | 2022.12.05 |