English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ 함수

이 문서에서는 C ++중 함수에 대한 모든 지식. 함수의 유형이 무엇인지, 예제에서 어떻게 사용하는지.

프로그래밍에서 함수는 특정 작업을 수행하기 위해 코드 블록을 그룹화하는 것입니다.

함수가 사전 정의되었는지 프로그래머가 생성했는지에 따라 달라집니다. 함수는 두 가지 유형이 있습니다:

  1. 표준 도서함수

  2. 사용자 정의 함수

표준 도서함수

도서함수는 C ++프로그래밍에서의 내장 함수.

프로그래머는 함수를 직접 호출하여 도서함수를 사용할 수 있습니다. 그들은 자신이 작성할 필요가 없습니다.

예제1:도서함수

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    double number, squareRoot;
    cout << "숫자를 입력: ";
    cin >> number;
    // sqrt()는 제곱근을 계산하는 라이브러리 함수입니다
    squareRoot = sqrt(number);
    cout << "숫자 " << number << " 의 제곱근= " << squareRoot;
    return 0;
}

출력 결과

숫자를 입력: 26
숫자 26 의 제곱근 = 5.09902

위 예제에서 sqrt() 라이브러리 함수를 호출하여 숫자26의 제곱근.

위 프로그램에서 주의할 필요가 있는 코드#include <cmath>입니다. 여기서 cmath은 헤더 파일입니다. sqrt() 함수는 cmath 헤더 파일에 정의되어 있습니다.

#include <cmath>를 사용하여 파일cmath의 내용을 이 프로그램에 포함하면, cmath에서 정의된 모든 함수를 사용할 수 있습니다.

최소한 하나의 유효한 C ++프로그램은 최소한 하나의 함수를 가지고 있어야 합니다. 즉, main() 함수입니다.

사용자 정의 함수

C ++프로그래머가 자신의 함수를 정의할 수 있게 합니다.

사용자 정의 함수는 특정 작업을 수행하는 코드 그룹을 수집하고, 그 그룹 코드에 이름(識別符)을 지정합니다.

프로그램의 어떤 부분에서도 이 함수를 호출하면, 그들은 함수 본체에 정의된 코드를 실행합니다.

사용자 정의 함수는 C 프로그래밍에서 어떻게 작동합니까?

위 그림에 따르면.

프로그램이 시작될 때, 시스템은 main() 함수를 호출하여 프로그램이 시작될 때 main() 함수에서 코드를 실행합니다.

프로그램의 제어가 main() 내부의 function_name()에 도달하면, 그는 void function_name()로 이동하여 void function_name() 내부의 모든 코드를 실행합니다.

그런 다음, 프로그램의 제어가 메인 함수로 돌아갑니다. 그在那里, function_name() 호출 이후의 코드를 실행합니다.

예제2:사용자 정의 함수

C ++프로그램은 두 개의 정수를 더합니다. add() 함수를 만들어 정수를 더하고 main() 함수에서 sum을 표시합니다.

#include <iostream>
using namespace std;
// 함수 원형(선언)
int add(int, int);
int main()
{
    int num1, num2, sum
    cout<<"두 개의 더할 수 있는 숫자를 입력: ";
    cin >> num1 >> num2;
    // 함수 호출
    sum = add(num1, num2);
    cout << "총합 = " << sum;
    return 0;
}
// 함수 정의
int add(int a, int b)
{
    int add;
    add = a + b;
    // 반환 문장
    return add;
}

출력 결과

두 개의 더할 수 있는 숫자를 입력: 8
-4
총합 = 4

함수 원형(선언)

main() 함수 이후에 사용자 정의 함수를 정의하면 컴파일러는 오류를 표시합니다. 이는 컴파일러가 사용자 정의 함수, 함수에 전달되는 매개변수의 형식 및 반환 유형을 알지 못하기 때문입니다。

C ++에서, 함수 프로토타입은 함수의 선언이며 본체가 없어 사용자 정의 함수에 대한 컴파일러에 대한 정보를 제공합니다. 예제에서 함수 프로토타입은 다음과 같습니다:

int add(int, int);

프로토타입에는 함수 본체가 없으며, 반환 유형의 매개변수만 있으며 매개변수가 없습니다. 다음과 같이 함수 프로토타입을 선언할 수도 있지만 매개변수를 작성할 필요는 없습니다.

int add(int a, int b);

주의:사용자 정의 함수가 main() 함수 이전에 존재하면 프로토타입을 정의할 필요가 없습니다。

함수 호출

기능 본체의 코드를 실행하려면 사용자 정의 함수를 호출(호출)해야 합니다。

위의 프로그램에서 add(num1,num2); 내부 main() 함수는 사용자 정의 함수를 호출합니다。

이 함수는 정수를 반환하며, 이 정수는 variable의 add에 저장됩니다。

함수 정의

함수 자체는 함수 정의라고 불립니다. 위의 프로그램에서 함수 정의는 다음과 같습니다:

// 함수 정의
int add(int a, int b)
{
    int add;
    add = a + b;
    return add;
}

함수가 호출될 때, 제어는 함수 본체의 첫 번째 문장으로 이동합니다。

그런 다음, 함수 본체 내의 다른 문장을 차례대로 실행합니다。

함수 정의에서 모든 코드가 실행되면 프로그램의 제어는 호출 프로그램으로 이동합니다。

매개변수를 함수에 전달하다

프로그래밍에서 매개변수(parameter)는 함수(함수 정의)에 전달되는 데이터를 의미합니다。

위의 예제에서 두 개의 변수 num1와 num2함수 호출 중에 함수에 전달됩니다. 이러한 매개변수는 실제 매개변수로 불립니다。

num1와 num2의 값은 변수 a와 b로 각각 초기화됩니다. 이러한 매개변수 a와 b는 형식 매개변수로 불립니다。

아래 그림과 같이 보입니다:

매개변수 전달에 대한 주의사항

  • 실제 매개변수와 형식 매개변수의 수는 같아야 합니다。(예외:)함수 오버로드)

  • 첫 번째 실제 매개변수의 형식은 첫 번째 형식 매개변수의 형식과 일치해야 합니다. 마찬가지로 두 번째 실제 매개변수의 형식은 두 번째 형식 매개변수의 형식과 일치해야 하며 이와 같이 계속됩니다。

  • 함수 a를 매개변수를 전달하지 않고 호출할 수 있습니다. 함수에 전달된 매개변수의 수는 프로그래머가 문제를 어떻게 해결하는지에 따릅니다。

  • 매개변수에 기본 값을 지정할 수 있습니다. 이러한 매개변수는기본 매개변수

  • 위의 프로그램에서 두 개의 매개변수는 모두 int형입니다. 하지만 두 개의 동일한 형식의 매개변수를 동시에 사용할 필요는 없습니다。

return 문

함수는 return 문을 사용하여 단일 값을 호출 프로그램으로 반환할 수 있습니다。

위의 프로그램에서는 다음 명령어를 사용하여 add의 값을 사용자 정의 함수에서 호출 프로그램으로 반환합니다:

return add;

아래 그림은 return 문의 작동 방식을 설명합니다.

위 프로그램에서 사용자 정의 함수 내의 add 값을 호출 함수에 반환합니다. 그런 다음 이 값이 sum 변수에 저장됩니다.

반환 변수에 주의하세요. 즉, add는 int 타입이고 sum도 int 타입입니다.

또한, 함수의 반환 타입은 함수 선언자 int add(int a, int b)에서 정의되며, add(int a, int b) 앞의 int는 함수가 int 타입의 값을 반환해야 한다는 것을 의미합니다.

값을 반환하지 않으면 void를 사용해야 합니다.