swap 함수 작성하기
해결됨
홍정모의 따라하며 배우는 C언어
홍 선생님께선 swap 함수에서 temp를 선언하실 때 정수형 자료형으로 선언하셨는데 저는 정수형 포인터 변수로 선언하고자 했어요. void swap(int* a, int* b) { int* temp = NULL; *temp = *a; *a = *b; *b = *temp; } 이렇게 함수를 작성해서 코드를 실행하려고 하는데 빌드는 성공했지만 실행은 실패했어요. 다만 함수를 아래처럼 고치면 정상적으로 작동하더군요. void swap(int* a, int* b) { int c; int* temp = &c; *temp = *a; *a = *b; *b = *temp; } 혹시 첫 번째 코드에서 temp 변수의 주소를 NULL로 초기화 한 부분이 문제였을까요?
- c
- 포인터
- swap
정인식
댓글 1
좋아요 1
조회수 387





