함수
4. 참조자(Reference)와 함수
Call-by-value & Call-by-reference Call-by-value : 값을 인자로 전달하는 함수의 호출방식 Call-by-reference : 주소 값을 인자로 전달하는 함수의 호출방식 #include using namespace std; void SwapByValue(int num1, int num2) { int temp = num1; num1 = num2; num2 = temp; } // Call-by-value int main(void) { int val1 = 10; int val2 = 20; SwapByValue(val1, val2); // val1과 val2에 저장된 값이 바뀌기를 기대함 cout
2. 함수 오버로딩 (Function Overloading)
함수 오버로딩 함수호출 시 전달되는 인자를 통해서 호출하고자 하는 함수의 구분이 가능하기 때문에 매개변수의 선언형태가 다르다면, 동일한 이름의 함수정의를 허용할 수 있다 (하지만 C언어에서는 불가능했다) #include int MyFunc(int num) { num++; return num; } int MyFunc(int a, int b) { return a + b; } int main(void) { MyFunc(20); // MyFunc(int num) 함수 호출 MyFunc(30, 40); // MyFunc(int a, int b) 함수 호출 return 0; } *C언어에서의 함수를 찾는 법 '함수의 이름'만 이용해서 호출대상을 찾는다 *C++에서의 함수를 찾는 법 '함수의 이름'과 '매개변수'를 ..
여러 가지 함수 유형
매개변수가 없는함수 예를 들어 키보드로 수를 입력해서 양수를 반환하는 함수를 만든다면 호출한 함수로부터 값을 받을 필요가 없으므로 매개변수도 필요 없게 된다 #include int get_num(void); int main(void) { int result; result = get_num(); printf("반환값: %d", result); return 0; } int get_num(void) // 매개변수는 없고 반환형만 있다 { int num; printf("양수 입력: "); scanf("%d", &num); return num; // 반환형 } 반환값이 없는 함수 데이터를 받아서 단지 화면에 출력하는 함수라면 특별히 반환값이 필요 없다 #include void print_char(char ch, ..
함수의 작성과 사용
함수 기능을 수행하는 코드 단위 표준 라이브러리 함수 특정 기능을 미리 약속하고 프로그램에서 바로 사욯할 수 있게 구현되어 있는 함수 ex) printf, scanf = (stdio.h 헤더 파일에 포함되어 있다) 함수의 3가지 상태 함수 정의 실제 코드로 함수를 만드는 것이며 기능을 구현 반환형 함수명(매겨변수1, 매개변수2)