산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C++ 함수

C++ 함수

이 튜토리얼에서는 예제를 통해 C++ 함수와 함수 표현식에 대해 배울 것입니다.

함수는 특정 작업을 수행하는 코드 블록입니다.

원을 만들고 색칠하는 프로그램을 만들어야 한다고 가정합니다. 이 문제를 해결하기 위해 두 가지 함수를 만들 수 있습니다.

복잡한 문제를 더 작은 덩어리로 나누면 프로그램을 이해하기 쉽고 재사용할 수 있습니다.

두 가지 유형의 기능이 있습니다.

  1. 표준 라이브러리 기능: C++에서 미리 정의됨
  2. 사용자 정의 함수: 사용자가 만든 것

이 튜토리얼에서는 주로 사용자 정의 함수에 중점을 둘 것입니다.

<시간>

C++ 사용자 정의 함수

C++를 사용하면 프로그래머가 자신의 기능을 정의할 수 있습니다.

사용자 정의 함수는 특정 작업을 수행하기 위해 코드를 그룹화하고 해당 코드 그룹에는 이름(식별자)이 지정됩니다.

프로그램의 어느 부분에서 함수를 호출하면 모두 함수 본문에 정의된 코드를 실행합니다.

<시간>

C++ 함수 선언

함수를 선언하는 구문은 다음과 같습니다.

returnType functionName (parameter1, parameter2,...) {
    // function body   
}

다음은 함수 선언의 예입니다.

// function declaration
void greet() {
    cout << "Hello World";
}

여기,

참고: returnType에 대해 알아보겠습니다. 및 parameters 이 튜토리얼의 뒷부분에서.

<시간>

함수 호출

위의 프로그램에서 greet()이라는 함수를 선언했습니다. . greet()를 사용하려면 함수를 호출해야 합니다.

위의 greet()를 호출하는 방법은 다음과 같습니다. 기능.

int main() {
     
    // calling a function   
    greet(); 

}
<그림> <시간>

예제 1:텍스트 표시

#include <iostream>
using namespace std;

// declaring a function
void greet() {
    cout << "Hello there!";
}

int main() {

    // calling the function
    greet();

    return 0;
}

출력

Hello there!
<시간>

함수 매개변수

위에서 언급했듯이 함수는 매개변수(인수)로 선언할 수 있습니다. 매개변수는 함수를 선언할 때 전달되는 값입니다.

예를 들어, 아래 함수를 고려해 보겠습니다.

void printNum(int num) {
    cout << num;
}

여기에서 int 변수 num 함수 매개변수입니다.

함수를 호출하는 동안 함수 매개변수에 값을 전달합니다.

int main() {
    int n = 7;
    
    // calling the function
    // n is passed to the function as argument
    printNum(n);
    
    return 0;
}
<시간>

예시 2:매개변수가 있는 함수

// program to print a text

#include <iostream>
using namespace std;

// display a number
void displayNum(int n1, float n2) {
    cout << "The int number is " << n1;
    cout << "The double number is " << n2;
}

int main() {
     
     int num1 = 5;
     double num2 = 5.5;

    // calling the function
    displayNum(num1, num2);

    return 0;
}

출력

The int number is 5
The double number is 5.5

위의 프로그램에서는 int가 하나인 함수를 사용했습니다. 매개변수 및 하나의 double 매개변수.

그런 다음 num1을 전달합니다. 및 num2 인수로. 이 값은 함수 매개변수 n1에 의해 저장됩니다. 및 n2 각각.

<그림>

참고: 함수를 호출하는 동안 전달된 인수의 유형은 함수 선언에 정의된 해당 매개변수와 일치해야 합니다.

<시간>

반품 명세서

위의 프로그램에서는 함수 선언에 void를 사용했습니다. 예를 들어,

void displayNumber() {
    // code
}

이것은 함수가 어떤 값도 반환하지 않는다는 것을 의미합니다.

함수에서 값을 반환하는 것도 가능합니다. 이를 위해 returnType를 지정해야 합니다. 함수 선언 중 함수.

그런 다음 return 문을 사용하여 함수에서 값을 반환할 수 있습니다.

예를 들어,

int add (int a, int b) {
   return (a + b);
}

여기에 int 데이터 유형이 있습니다. void 대신 . 이는 함수가 int을 반환함을 의미합니다. 가치.

코드 return (a + b); 두 매개변수의 합을 함수 값으로 반환합니다.

return 문은 기능이 종료되었음을 나타냅니다. return 이후의 모든 코드 함수 내부는 실행되지 않습니다.

<시간>

예시 3:두 개의 숫자 더하기

// program to add two numbers using a function

#include <iostream>

using namespace std;

// declaring a function
int add(int a, int b) {
    return (a + b);
}

int main() {

    int sum;
    
    // calling the function and storing
    // the returned value in sum
    sum = add(100, 78);

    cout << "100 + 78 = " << sum << endl;

    return 0;
}

출력

100 + 78 = 178

위 프로그램에서 add() 함수는 두 숫자의 합을 찾는 데 사용됩니다.

두 개의 int를 전달합니다. 리터럴 10078 함수를 호출하는 동안.

함수의 반환 값을 sum 변수에 저장합니다. , 그런 다음 인쇄합니다.

<그림>

sum int의 변수입니다. 유형. 이는 add()의 반환 값 때문입니다. int 유형.

<시간>

함수 프로토타입

C++에서 함수 선언 코드는 함수 호출 전에 있어야 합니다. 그러나 함수 호출 후에 함수를 정의하려면 함수 프로토타입을 사용해야 합니다. 예를 들어,

// function prototype
void add(int, int);

int main() {
    // calling the function before declaration.
    add(5, 3);
    return 0;
}

// function definition
void add(int a, int b) {
    cout << (a + b);
}

위 코드에서 함수 프로토타입은 다음과 같습니다.

void add(int, int);

이것은 컴파일러에 함수 이름과 해당 매개변수에 대한 정보를 제공합니다. 그렇기 때문에 함수가 정의되기 전에 코드를 사용하여 함수를 호출할 수 있습니다.

함수 프로토타입의 구문은 다음과 같습니다.

returnType functionName(dataType1, dataType2, ...);
<시간>

예시 4:C++ 함수 프로토타입

// using function definition after main() function
// function prototype is declared before main()

#include <iostream>

using namespace std;

// function prototype
int add(int, int);

int main() {
    int sum;

    // calling the function and storing
    // the returned value in sum
    sum = add(100, 78);

    cout << "100 + 78 = " << sum << endl;

    return 0;
}

// function definition
int add(int a, int b) {
    return (a + b);
}

출력

100 + 78 = 178

위 프로그램은 예시 3과 거의 동일합니다. . 유일한 차이점은 여기에서 함수가 이후 함수 호출.

이것이 이 예제에서 함수 프로토타입을 사용한 이유입니다.

<시간>

사용자 정의 함수 사용의 이점

<시간>

C++ 라이브러리 함수

라이브러리 함수는 C++ 프로그래밍의 내장 함수입니다.

프로그래머는 함수를 직접 호출하여 라이브러리 함수를 사용할 수 있습니다. 함수를 직접 작성할 필요가 없습니다.

C++의 몇 가지 일반적인 라이브러리 함수는 sqrt()입니다. , abs() , isdigit()

라이브러리 함수를 사용하려면 일반적으로 이러한 라이브러리 함수가 정의된 헤더 파일을 포함해야 합니다.

예를 들어 sqrt()과 같은 수학 함수를 사용하려면 및 abs() , 헤더 파일 cmath을 포함해야 합니다. .

<시간>

예제 5:숫자의 제곱근을 구하는 C++ 프로그램

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    double number, squareRoot;
    
    number = 25.0;

    // sqrt() is a library function to calculate the square root
    squareRoot = sqrt(number);

    cout << "Square root of " << number << " = " << squareRoot;

    return 0;
}

출력

Square root of 25 = 5

이 프로그램에서 sqrt() 라이브러리 함수는 숫자의 제곱근을 계산하는 데 사용됩니다.

sqrt()의 함수 선언 cmath에 정의되어 있습니다. 헤더 파일. 이것이 #include <cmath> 코드를 사용해야 하는 이유입니다. sqrt() 사용 기능.

자세한 내용은 C++ 표준 라이브러리 기능을 참조하십시오.


C 언어

  1. C++ 연산자
  2. C++ 주석
  3. C++ 프로그래밍에서 함수에 배열 전달
  4. C++ friend 함수 및 friend 클래스
  5. Stratasys Insight의 10가지 인기 기능
  6. 예제를 사용한 C++ 연산자 오버로딩
  7. 예제가 있는 Python Lambda 함수
  8. Verilog 기능
  9. C - 기능
  10. C++ 오버로딩(연산자와 함수)