Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++(3.5)의 함수

<시간/>

기능은 일부 기능을 수행하고 일부 유형의 결과를 생성하기 때문에 기계와 같습니다. 마찬가지로, 기계는 일부 입력을 취하고, 입력을 처리하고 유사하게 출력을 생성하고, 기능은 일부 값을 취하여 해당 값에 대해 작동하고 출력을 생성합니다. 사람이 수동으로 입력을 기계에 전달하면 프로그래머가 실행을 시작할 함수를 호출할 때 기계만 동일한 방식으로 기능을 시작합니다.

함수는 다양한 언어에서 이름이 다를 수 있지만 다음과 같은 두 가지 공통된 특성을 공유합니다. -

  • 여기에는 처리해야 하는 일련의 지침이 포함되어 있습니다.

  • 이러한 명령은 기능을 참조하는 이름으로 식별됩니다.

함수를 사용하는 이유

  • 재사용성 − 여러 위치에서 동일한 기능이 필요한 경우 동일한 기능을 반복해서 제공하는 함수를 선언하는 대신 함수를 한 번 만들고 여러 번 호출하는 것이 가장 좋은 방법입니다. 재사용성은 함수가 제공하는 가장 큰 기능 또는 이점입니다.

  • 코드 모듈화 − main() 함수에서 여러 줄의 코드를 작성하는 대신 함수를 선언하여 보다 명확하고 읽기 쉽고 코드를 작성하는 것처럼 이 함수는 코딩을 깔끔하고 깔끔하게 만듭니다.

  • 수정 용이성 − 코드에 향후 변경 사항이 있는 경우 여러 위치로 변경하는 대신 프로그래머가 기능만 변경합니다. 따라서 이 기능은 데이터의 중복도 감소시킨다고 말할 수 있습니다.

  • 추상화 제공 - 함수의 관련 이름을 사용하여 해당 함수가 수행하는 방식을 공개하는 대신 해당 함수가 수행해야 하는 작업을 결정할 수 있습니다. 예를 들어, C에는 pow() 함수를 포함한 여러 함수를 포함하는 "maths.h" 헤더 파일이 있습니다. 정의에서 이 함수가 전력 값을 계산하는 방법을 알지 못하는 대신 이 함수를 직접 사용하여 거듭제곱 값을 계산할 수 있습니다.

함수 선언 및 정의

함수 선언은 컴파일러에게 반환 유형과 함수 이름을 알려주는 과정입니다.

구문

몸이 없는

Return_type function_name(parameter list which is optional);

몸으로

Return_type function_name(parameter list which is optional)
{
//body of the function
} 

설명

  • 반품_유형 − 컴파일러에게 함수가 아무 것도 반환할지 여부와 데이터를 반환하면 반환할 데이터 유형을 알려줍니다.

void dummy(){
   //since the return type of function is void it willn’t return anything to the caller and hence it willn’t contain return statement.
}
Int dummy(){
   //since the return type of function is int it will return integer value to the caller and it is mandatory that it will contain return statement as it is returning integer value.
   return integer_value;
}
float dummy(){
   //since the return type of function is float it will return floating value to the caller and it is mandatory that it will contain return statement as it is  returning floating value.
   return float_value;
}

  • 함수 이름 - 함수 이름은 프로그래머가 함수에 부여하고자 하는 모든 이름이 될 수 있습니다. 위의 예와 같이 함수 이름을 dummy

    로 지정했습니다.
  • 매개변수 목록(선택사항) - 함수 호출자가 전달한 값에 대해 함수가 작동할 때마다 매개변수를 생성해야 합니다.

함수 정의 함수가 호출될 때마다 수행해야 하는 기능을 포함합니다.

예시

#include<iostream>
using namespace std;
//function that calculates the greatest
//value amongst two parameters
int greatest(int val_1, int val_2) //return type of function is integer value{
   //body of the function(Definition)
   if(val_1>val_2){
      return val_1;
   }
   else{
      return val_2;
   }
}
int main(){
   int val_1=10, val_2=20;
   //calling the function and storing the integer value
   //returned by a function in the integer variable
   int highest = greatest(val_1,val_2);
   //printing the greatest value
   cout<<"The greatest value is : "<<highest;
   //as the return type of main is int,
   //it must have return statement for the compiler
   return 0;
} 

출력

위 코드의 출력은 -

입니다.
The greatest value is : 20

함수 매개변수

  • 매개변수는 선택사항입니다. 매개변수가 없으면 기능도 기능을 수행합니다.

  • 함수 호출자가 전달한 값을 포착하기 위해 함수 정의에 선언된 변수를 매개변수라고 합니다. 정수 최대(int val_1, 정수 val_2)

int greatest(int val_1, int val_2)

<강한> C/C++(3.5)의 함수

  • 함수 호출자가 전달한 변수를 인수라고 합니다.

int highest = greatest(val_1,val_2);

<강한> C/C++(3.5)의 함수


  • 실제 매개변수 대 형식 매개변수-

    실제 매개변수 위의 예와 같이 함수에 전달된 데이터는 10과 20이 실제 매개변수입니다.

    형식 매개변수 위의 예와 같이 함수에서 수신한 데이터이고 val_1 및 val_2가 형식 매개변수입니다.

main() 함수에 대한 중요 사항

  • 모든 프로그램에는 실행이 시작되는 진입점이 있습니다. 예를 들어 C 및 C++에는 main() 함수가 있습니다.

  • main() 함수의 반환 유형이 void이면 함수가 컴파일러에 아무 것도 반환하지 않는다는 것을 의미하는 반면, main() 함수의 반환 유형이 int이면 컴파일러에 값을 반환하는 것입니다. 마찬가지로 main()에는 프로그램 종료를 나타내는 "return 0"이 있습니다.

  • C에서 - main() 함수의 반환 유형은 void 및 int일 수 있습니다. main() 함수는 컴파일러에 정수 값을 반환하거나 아무 것도 반환하지 않아야 하기 때문입니다.

  • C++에서 - main() 함수가 컴파일러에 정수 값을 반환하므로 main() 함수의 반환 유형은 int일 수 있습니다.