C언어 프로그램 함수 호출 방식
C언어 프로그램 함수 호출 방식 C언어에서 어떤 기능을 실행하기 위해서 함수를 호출할 때 단순하게 이름으로 호출해서 그 안에 포함된 내용만 실행하도록 하는 경우도 있지만 어떤 값들을 전달하면서 호출하고 전달된 값을 이용해서 프로그램을 실행하게 하는 경우도 있는데요. 이렇게 값을 전달하면서 호출하는 방식은 두 가지가 있습니다. 첫 번째는 데이터를 전달하는 방식이구요.(Call-by-vlaue) 두 번째는 지난 글에서 알아봤던 데이터의 주소 값(Call-by-reference)을 전달하는 방식입니다. 예제를 만들면서 어떤 때 사용되는지 확인해보겠습니다. 먼저 단순하게 값을 전달하는 방식입니다. ▲ main() 에서 두 개의 변수를 선언한 후 각각 100과 200으로 초기화 한 후 aaa() 를 호출하면서 그..
c언어 프로그래밍 함수의 위치
c언어 프로그래밍 함수의 위치 ■ 프로그램은 위에서 아래로 왼쪽에서 오른쪽으로 실행되는 게 기본인데요. 일반적으로 호출할 함수도 앞쪽에 만들어져 있어야 컴파일러가 위쪽에서 먼저 읽고 오기 때문에 나중에 그 함수를 호출해도 앞에서 본 녀석이라고 인식하고 문제 없이 불러오게 되는데요. 다음과 같은 형식입니다. ▲ 두 수를 전달받아서 더한 후 그 값을 출력하는 hap() 함수를 정의하고 main() 에서 hap()을 호출하고 있는데요. hap()이 앞쪽에 있기 때문에 당연히 아무 문제없이 제대로 실행되는 프로그램입니다. 하지만 반대로 main()이 먼저 정의되고 hap()이 나중에 정의된다면 어떻게 될까요? 바꿔서 컴파일 해보겠습니다. ▲ 이렇게 main()이 먼저 오고 호출할 hap()이 뒤쪽에 위치하게 되..
C언어 프로그램 함수 만들기
C언어 프로그램 함수 만들기 ■ 지난 글에서 전달인자와 return 값을 모두 갖고 있는 형식의 함수를 만들어 봤는데요. 이번에는 전달인자와 리턴 값이 있는 것과 없는 형식의 함수들을 알아보겠습니다. 리턴 값이 없거나 매개변수가 없는 함수는 반환값의 자료형이나 매개변수 자리에 void로 선언해주면 되는데요. 리턴값이 없는 형식은 다음과 같습니다. void 함수이름(매개변수){ 실행코드; } ▲ 이렇게 반환되는 형식에 void를 입력하면 값을 되돌려주지 않는다는 의미이고... 함수의 끝에 return 값을 입력하지 않아도 됩니다. 다음은 return 값은 있는데 매개변수가 없는 형식입니다. int 함수이름 (void) { 실행코드; return int 자료형; } ▲ 역시 매개변수 자리에 void를 입력해..
C언어 독학 함수 만들기 function return
C언어 독학 함수 만들기 function return ■ 지난 글에서 C언어 함수의 개념을 정리해봤는데요. 함수는 '전달 인자'와 '반환 값'의 유무에 따라서 네 가지로 구분할 수 있습니다. 이번 글에서는 첫 번째로 전달인자와 반환값이 모두 있는 일반적인 함수를 만들어보겠습니다. 예제는 전달된 인자를 더해서 그 값을 반환하는 형태의 함수인데요. 다음과 같은 특징으로 만들겠습니다. 전달되는 인자는 int 형으로 두 개이며 함수의 이름은 Hap이고 실행후 반환되는 값도 int형입니다. 위의 형태를 참고해서 함수를 만들면 다음과 같은 형식이 될것입니다. int Hap(int su1, int su2){ int res=su1+su2; return res; } ■ 함수의 매개변수 int su1과 su2를 선언해서 ..
C언어 함수 function
C언어 함수 function ■ 대부분의 프로그램은 시작하는 위치가 있고 그곳을 main이라는 이름으로 표시한다. c언어 역시 main()이라는 함수가 있고, 그 함수의 시작점({)에서 프로그램이 시작되며 빠져나오면서(}) 프로그램은 종료된다. 즉, 어떤 코드를 실행하기 위해서는 main()이라는 함수안에 위치해야 한다. 하지만 엄청나게 많은 내용을 모두 main()안에 작성하는 것은 무리가 있기 때문에 여러 개의 함수를 만들어 놓고... main()에서는 그 녀석들을 호출해서 사용하기만 하면 된다. 즉, 함수란 매인 함수가 해야 할 일들을 분담하는 정도로 이해하면 될것같다. C언어 함수의 기본 형식은 다음과 같다. int[반환되는 자료형] main[함수이름] (void)[전달 인자]{ 실행코드; } ■..