작성하신 것이 맞습니다만,
struct dot 이 swap 함수 앞에 정의되어야 합니다. 지금은 아마도 컴파일 에러가 나겠네요.
11650번 - 좌표 정렬하기
c나 cpp 를 컴파일할때 앞에서부터 순차적으로 진행을 할텐데, struct dot 이 정의도 되지 않고 나오기 때문에 컴파일 에러가 날 것 같네요.
또한 지금은 struct 가 main 내에 정의가 되어서 그 안에서만 유효할 것 같습니다.
구조체도 결국은 사용자 정의 타입이기 때문에 일반 변수와 다를 것이 없습니다.
void swap(int *a, int *b) { int t = *a; *a = *b; *b = t; }
와 같이 하듯이
void swap(struct dot *a, struct dot *b) { struct dot t = *a; *a = *b; *b = t; }
하면 됩니다.
struct 안의 값이 포인터 변수가 있다면, 포인터값 자체가 복사가 되니 의도치 않게 동작할 가능성이 있지만,
이경우는 해당되지 않겠네요.
댓글을 작성하려면 로그인해야 합니다.
brenda524 3년 전
Q. swap함수를 통해 구조체변수를 교환하려면, 어떻게 swap함수를 짜야하나요???