C언어) 함수의 인자와 리턴값으로 구조체 사용하기
(포스팅 2022.10.14) C언어의 함수는 리턴값을 하나만 돌려줍니다. 여러 개의 리턴값을 받는 여러가지 꼼수가 있는데요, 전역 변수를 사용하는 방법 인자로 포인터를 받아서 업데이트하는 방법 (call by reference) 리턴값을 구조체(struct)로 받는 방법 저는 십년 넘게 C로 작업을 해왔음에도, 함수의 인자와 리턴값으로 struct를 사용할 수 있다는 것을 몰랐습니다. 의심이 가시지 않아, 아래 예제를 만들어보았습니다. 구조체를 함수에 전달할 수도 있고 리턴값으로 받을 수도 있습니다. 'call by value'로 전달되는게 맞습니다. C언어에서 리턴값의 구현은, 함수가 종료될때 특정 레지스터에 리턴값을 기록하고, 호출한 쪽은 이 레지스터를 읽음으로써 리턴값을 받습니다. 그래서 값 한개..
개발이야기/C or C++ 언어 관련
2022. 10. 14. 16:03