C/C++ 함수

함수 구조
- 입력
매개변수(parameter), 인자 - 출력
반환값(return value), 리턴값
함수가 돌려주는 결과 값 - void
리턴값이 없으면 리턴형 쓰는 자리에 void
매개변수가 없으면 매개변수 쓰는 자리에 void
사용 방법
- 함수 정의
함수 만들기
이름, 매개변수, 리턴형, 기능 - 함수 호출
함수 사용하기
이름, 매개변수 - 함수 선언
함수의 사용법
이름, 매개변수, 리턴형
컴파일러에게 함수에 대한 정보를 미리 줌
#include <iostream>
void display(void); // 선언, 프로토타입, 원형
int main() {
display();
std::cout << "Hello World";
return 0;
}
void display() {
std::cout << "Hello World";
}
#include <iostream>
void doubleNum(int x);
void display(void); // 선언, 프로토타입, 원형
int doubleNumReturn(int x);
int main() {
display();
doubleNum(10);
std::cout << "Hello World\n";
std::cout << doubleNumReturn(20);
return 0;
}
void doubleNum(int x)
{
std::cout << x*2;
}
int doubleNumReturn(int x)
{
return x * 2;
}
void display() {
std::cout << "Hello World\n";
}
return문
- 결과 값을 호출한 함수로 반환
- return문을 만나면 함수의 나머지 부분에 상관없이 함수의 실행을 종료하고 호출한 함수로 넘어감
- return(수식이나 값);
- return 다음에 괄호는 생략해도 됨
- return 1;
- return x;
- return (x*2);
- return (x+y);
함수의 정의와 선언(원형, prototype)
- 덧셈기 함수의 정의(구현)
int add(int x, int y) // 함수의 머리
{ // 함수의 본체 시작
return (x+y); // 함수의 본체
} // 함수의 본체 끝 - add()함수의 정의에서 첫 번째 줄인 "int add(int x, int y)" 를 함수의 머리라고 하고 아래 부분은 함수의 본체(body) 라고 함
- 함수의 머리 부분을 다음과 같이 하나의 문장 (세미콜론으로 끝남)으로 만드는것을 함수 선언 또는 함수 원형(prototype)이라 함
int add(int x, int y);
int add(int, int);
매개변수 x와 y는 생략할 수 있지만 생략하지 않는 것이 더 좋음
#include <iostream>
void doubleNum(int x);
void display(void); // 선언, 프로토타입, 원형
int doubleNumReturn(int x);
int add(int x, int y);
char vending(int x);
const char* vending1(int x);
std::string vending2(int x);
int main() {
display();
doubleNum(10);
std::cout << "Hello World\n";
std::cout << doubleNumReturn(20);
std::cout << add(2 ,3);
std::cout << vending(1);
std::cout << vending1(1);
std::cout << vending2(1);
return 0;
}
std::string vending2(int x)
{
if (x==1) return "aaa";
else return "bbb";
}
const char* vending1(int x)
{
if (x==1) return "커피";
else return "유자차";
}
char vending(int x)
{
if (x==1) return 'A';
else return 'B';
}
int add(int x, int y){
return x + y;
}
void doubleNum(int x)
{
std::cout << x*2;
}
int doubleNumReturn(int x)
{
return x * 2;
}
void display() {
std::cout << "Hello World\n";
}
출처 : Smile Han의 C언어 강의 - Youtube
추천 사이트 : 파이썬튜터 - 코드 시각화를 통해 이해를 도움