늦은 포스팅이 되었다. 목표는 매주 과제를 끝마치고, 복습 겸 블로그에 포스팅까지 마치는 것이였는데 포인터를 하면서 무너지게 되었다...
어마무시한 포인터와 관련한 포스팅은 [함수]편 바로 다음에 올라갈 예정이다!
함수의 장점은 반복 실행해야만 하는 내용을 필요할 때마다 호출해서 사용 가능하고, 프로그램의 기능 및 구조를 알아보기 쉽다는 점 !
함수를 선언할 때에는 함수 정의 전 호출이 되었다면 그 함수를 main 함수 위에 반드시 선언 후 호출해야한다. 예를 들어보겠다.
#include
using namespace std; bool isEven(int n); void main() { int n; cout << "짝수, 홀수를 판별할 숫자를 입력하세요->"; cin >> n; if (isEven(n)) cout << "입력하신 숫자는 짝수입니다." << endl; else cout << "입력하신 숫자는 홀수입니다." << endl; } bool isEven(int n){ if (n % 2 == 0) return true; /* 부울형의 사용법 : 짝수가 맞으면 true */ else return false; /* 짝수가 아니라면 false 출력 */ }
위와 같이 main() 함수에서 아직 정의되지 않은 isEven(int n)함수를 호출했으므로 반드시 main() 위에 부울형 함수인 bool isEven(int n)을 선언해주어야 하는 것이다.
이번에는 함수가 main함수보다 먼저 입력된 경우를 살펴보자.
#includeusing namespace std; double avg(int a, int b) { double s; (double)s = ((double)a + (double)b) / 2; return s; } void main() { int a, b; double res; cout << "숫자 두개를 입력하세요:"; cin >> a >> b; res = avg(a, b); cout << "평균 : " << res << endl; }
위의 코드는 굳이 함수를 먼저 선언하지 않아도 된다. 여기서 return s;에 주목해보자!
함수의 실행결과를 반환하고자 할 때에는 return문을 사용하는데 기본 형식은 return 식;이다.
또한, 함수를 호출할 때 기술되는 실 매개변수와 함수를 정의할 때 기술되는 형식 매개변수, 이 두 변수명이 꼭 동일할 필요는 없다. 어차피 전혀 다른 기억공간이 따로 할당되어 값을 복사하기 때문이다.
'study > C++' 카테고리의 다른 글
[구조체] 구조체 배열로 5명의 성적을 입력받아 총점, 평균 출력하기 (0) | 2017.05.14 |
---|---|
[배열과 포인터]1차원 포인터와 2차원 포인터의 정의 (0) | 2017.04.28 |
[포인터] 포인터 기본 / 주소에 의한 전달방식 / 참조에 의한 전달방식 (0) | 2017.04.28 |
[제어문] 알파벳 A-Z까지 출력 / *로 역삼각형 출력 / 구구단 프로그램 출력 (0) | 2017.04.03 |
논리연산자/전위연산자와 후위연산자의 구분/아스키코드 대소문자 변환 (0) | 2017.03.26 |