C 언어
이 튜토리얼에서는 예제를 통해 C++ 함수와 함수 표현식에 대해 배울 것입니다.
함수는 특정 작업을 수행하는 코드 블록입니다.
원을 만들고 색칠하는 프로그램을 만들어야 한다고 가정합니다. 이 문제를 해결하기 위해 두 가지 함수를 만들 수 있습니다.
복잡한 문제를 더 작은 덩어리로 나누면 프로그램을 이해하기 쉽고 재사용할 수 있습니다.
두 가지 유형의 기능이 있습니다.
이 튜토리얼에서는 주로 사용자 정의 함수에 중점을 둘 것입니다.
<시간>C++를 사용하면 프로그래머가 자신의 기능을 정의할 수 있습니다.
사용자 정의 함수는 특정 작업을 수행하기 위해 코드를 그룹화하고 해당 코드 그룹에는 이름(식별자)이 지정됩니다.
프로그램의 어느 부분에서 함수를 호출하면 모두 함수 본문에 정의된 코드를 실행합니다.
<시간>함수를 선언하는 구문은 다음과 같습니다.
returnType functionName (parameter1, parameter2,...) {
// function body
}
다음은 함수 선언의 예입니다.
// function declaration
void greet() {
cout << "Hello World";
}
여기,
greet()
입니다. void
입니다. {}
안에 작성됩니다.
참고: returnType
에 대해 알아보겠습니다. 및 parameters
이 튜토리얼의 뒷부분에서.
위의 프로그램에서 greet()
이라는 함수를 선언했습니다. . greet()
를 사용하려면 함수를 호출해야 합니다.
위의 greet()
를 호출하는 방법은 다음과 같습니다. 기능.
int main() {
// calling a function
greet();
}
<그림> <시간>
#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;
}
<시간>
// 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
이후의 모든 코드 함수 내부는 실행되지 않습니다.
// 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
를 전달합니다. 리터럴 100
및 78
함수를 호출하는 동안.
함수의 반환 값을 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, ...);
<시간>
// 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++의 몇 가지 일반적인 라이브러리 함수는 sqrt()
입니다. , abs()
, isdigit()
등
라이브러리 함수를 사용하려면 일반적으로 이러한 라이브러리 함수가 정의된 헤더 파일을 포함해야 합니다.
예를 들어 sqrt()
과 같은 수학 함수를 사용하려면 및 abs()
, 헤더 파일 cmath
을 포함해야 합니다. .
#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 언어
C++에서 다형성이란 무엇입니까? C++에서 다형성은 멤버 함수를 호출/호출하는 객체에 따라 다르게 동작하도록 합니다. 다형성(Polymorphism)은 여러 형태를 갖는다는 의미의 그리스어입니다. 상속을 통해 관련된 클래스 계층이 있을 때 발생합니다. 예를 들어 makeSound() 함수가 있다고 가정합니다. 고양이가 이 함수를 호출하면 야옹 소리가 납니다. 젖소가 동일한 기능을 호출하면 야옹 소리가 납니다. 우리는 하나의 기능을 가지고 있지만 상황에 따라 다르게 작동합니다. 함수에는 여러 가지 형태가 있습니다.
C에서 함수란 무엇입니까? C 프로그래밍의 기능 프로그램을 더 쉽게 이해하고 테스트하고 호출 프로그램을 변경하지 않고도 쉽게 수정할 수 있는 재사용 가능한 코드 블록입니다. 함수는 코드를 분할하고 프로그램을 모듈화하여 더 좋고 효과적인 결과를 제공합니다. 간단히 말해서 더 큰 프로그램은 함수라고 하는 다양한 하위 프로그램으로 나뉩니다. 큰 프로그램을 다양한 기능으로 나누면 각 기능을 개별적으로 관리하기 쉬워집니다. 프로그램에 오류가 발생할 때마다 쉽게 잘못된 기능을 조사하고 해당 오류만 수정할 수 있습니다. 필요할 때