C ++ 기능
함께 사명을 수행하는 함수의 집합입니다. 모든 C ++ 프로그램은 그 주요 기능메인 (), 모든 간단한 프로그램은 다른 부가 기능을 정의 할 수 있습니다, 적어도 하나의 기능을 가지고있다.
당신은 다른 기능에 코드를 넣을 수 있습니다. 어떻게 개별 함수에 코드를 분할하는 것은 결정하는 당신에게 달려 있지만, 논리적으로 수행하기 위해 특정 작업에 따라 각 기능을 수행 일반적으로 나누었다.
함수선언은 컴파일러 함수 이름, 반환 형식과 매개 변수를 알려줍니다.함수 정의 기능의 실제 본체를 제공한다.
C는 ++ 표준 라이브러리를 호출 할 수있는 프로그램의 기본 기능을 많이 제공합니다. 예를 들어, 함수strcat와 ()가 다른 위치로 메모리에 복사하기 위해 두 문자열 연결 함수를 memcpy ()를사용한다.
등등 방법, 절차 또는 서브 루틴 등과 같은 많은 함수가 호출 될 수 있습니다.
정의 함수
다음과 같이 C ++ 함수 정의의 일반적인 형태는 다음과 같다 :
return_type function_name( parameter list ) { body of the function }
C ++에서, 함수는 함수 헤더 및 기능 체 구성 요소로 구성된다. 아래에 나열된 기능의 일부입니다 :
- 반환 유형 : 함수가 값을 반환 할 수 있습니다.return_type은 함수에 의해 반환되는 값의 데이터 유형입니다. 일부 기능이 경우 키워드무효 return_type 반환 값없이 원하는 작업을 수행한다.
- 함수명 :이 함수의 실제 이름이다.함수 이름과 매개 변수 목록은 함께 함수 서명을 구성한다.
- 매개 변수 : 매개 변수 자리 표시 자와 같다.함수가 호출 될 때 매개 변수에 값이이 값이 실제 매개 변수라고 전달합니다. 매개 변수 목록은 함수 매개 변수, 주문 수량의 유형을 포함한다. 매개 변수 즉, 함수는 매개 변수를 포함 할 수 없습니다 말을하는 것입니다, 선택 사항입니다.
- 주요 기능 : 함수 본문은 사명 정의 함수의 집합이 포함되어 있습니다.
예
다음에 소스 코드의최대 () 함수이다.이 기능은 카운트 두 숫자의 큰를 반환하는 두 개의 매개 변수 NUM1 및 NUM2을합니다 :
// 函数返回两个数中较大的那个数 int max(int num1, int num2) { // 局部变量声明 int result; if (num1 > num2) result = num1; else result = num2; return result; }
함수 선언
함수선언은 컴파일러 함수 이름, 어떻게 함수를 호출하는 방법을 알려줍니다.함수의 실제 본체 개별적 정의 될 수있다.
함수 선언은 다음과 같은 내용을 포함한다 :
return_type function_name( parameter list );
최대 함수 ()는 다음 함수 선언이기 상기 정의 :
int max(int num1, int num2);
함수 선언에서, 변수의 이름만을 입력 파라미터가 필요한 중요하지 않으므로 다음 유효한 성명 :
int max(int, int);
다른 파일에 기능을 소스 파일의 기능을 정의하고 호출되면 함수 선언이 필요하다. 이 경우 파일 함수 선언 함수의 상부를 호출해야합니다.
전화 기능
기능 수행을 정의하고이 정의 된 함수를 호출하여 작업을 완료하는 데 당신은 C를 만들 ++ 기능.
프로그램이 함수를 호출하면, 프로그램 제어는 호출 기능에 전송한다. 함수는 함수 리턴 명령문이 실행되거나 엔드 브래킷 기능에 도달 될 때 호출되는 정의 된 작업을 실행하면, 프로그램은 주 프로그램으로 제어를 리턴한다.
당신이 필요한 매개 변수를 전달하는 함수를 호출 할 때 함수가 값을 반환하는 경우, 당신은 반환 값을 저장할 수 있습니다. 예를 들면 :
#include <iostream> using namespace std; // 函数声明 int max(int num1, int num2); int main () { // 局部变量声明 int a = 100; int b = 200; int ret; // 调用函数来获取最大值 ret = max(a, b); cout << "Max value is : " << ret << endl; return 0; } // 函数返回两个数中较大的那个数 int max(int num1, int num2) { // 局部变量声明 int result; if (num1 > num2) result = num1; else result = num2; return result; }
최대 () 함수와 주 () 함수는 소스 코드를 컴파일하는 조각을 넣고. 당신이 실행하면 최종 실행 파일은 다음과 같은 결과를 생성합니다 :
Max value is : 200
함수 인수
당신이 함수 매개 변수를 사용하려면 매개 변수 값을 허용하도록 변수를 선언해야합니다. 이러한 변수는 함수의형식 매개 변수로 알려져 있습니다.
기능을 입력 할 때 함수 내의 로컬 변수가 생성 파라미터의 다른 형태와 마찬가지로, 함수는 파괴 종료합니다.
함수가 호출 될 때, 함수에 매개 변수를 전달하는 방법에는 두 가지가 있습니다 :
调用类型 | 描述 |
---|---|
传值调用 | 该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数对实际参数没有影响。 |
指针调用 | 该方法把参数的地址复制给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。 |
引用调用 | 该方法把参数的引用复制给形式参数。在函数内,该引用用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。 |
기본적으로 C ++는 매개 변수를 전달하는전화를별로 사용.일반적으로,이 함수 내의 코드 함수를 호출하는데 사용되는 매개 변수를 변경할 수 있음을 의미한다. 동일한 방법을 사용할 경우 앞서 언급 한 실시 예, 최대 () 함수를 호출한다.
파라미터의 디폴트 값
당신이 함수를 정의 할 때, 당신은 뒤에 매개 변수 목록의 각 매개 변수에 대한 기본 값을 지정할 수 있습니다. 함수가 호출 될 때, 실제 파라미터 값이 비어있는 경우에는, 디폴트 값을 사용한다.
이는 매개 변수로 함수 정의를 할당하는 대입 연산자를 사용하여 수행됩니다. 함수가 호출 될 때 매개 변수 값이 전달되지 않은 경우에 값이 지정되면,이 디폴트 값을 사용하는, 디폴트 값은 전달 된 값을 이용하여, 무시된다. 다음 예를 고려하십시오
#include <iostream> using namespace std; int sum(int a, int b=20) { int result; result = a + b; return (result); } int main () { // 局部变量声明 int a = 100; int b = 200; int result; // 调用函数来添加值 result = sum(a, b); cout << "Total value is :" << result << endl; // 再次调用函数 result = sum(a); cout << "Total value is :" << result << endl; return 0; }
상기 코드는 컴파일되고 실행될 때, 다음과 같은 결과를
Total value is :300 Total value is :120