• 회원가입
  • 로그인
  • 구글아이디로 로그인

[function] C++ - Function Parameters (함수 매개변수)

2,509  
목차
  1. 매개변수 vs. 독립변수(인수)
  2. 매개변수 기본값 (= 선택적 매개변수)
  3. 여러 매개변수
  4. 함수 반환값
  5. 참조로 전달

 

매개변수 vs. 독립변수(인수)

[매개변수]

 

1.

사용자로부터 데이터 받는 입구로서, 함수 안에서 사용하는 변수.

(예) int add(int x,int y) {...}

 

2.

원하는 만큼 쉼표로 연결해 나열 가능하며,

매개변수 각각에 대해 자료형 지정해야 함.

(예) int add(int x,int y,int z, ....) {...}

 

3.

독립변수 (인수)가 전달 안 될 경우 대비해 기본값 지정 가능.

※ 독립변수가 전달 안 된 경우, 매개변수 기본값이 사용됨.

※ 선택적 매개변수 : 기본값 갖는 매개변수.

 


[독립변수 (= 인수)]

 

1.

함수 호출 시, 함수로 실제 전달되는 데이터. (예) add(3, 4); 

 

2.

선언된 매개변수 자료형에 맞는 독립변수를 전달해야 함.

 


[예제1] 함수가 반환값 갖는 경우.

 

#include <iostream>

using namespace std;


int add(int x, int y) {

 return x + y;

}

int main() {

  cout << add(3, 4); // 7

  return 0;

}

 

결과값: 7


[예제2] 함수가 반환값 없이 실행만 하는 경우.

 

#include <iostream>

#include <string>

using namespace std;

 

void studyCode(string code) {

  cout << code << " 공부\n";

}

int main() {

  studyCode("HTML");

  studyCode("CSS");

  studyCode("JS");

  return 0;

}

 

결과값:

HTML 공부

CSS 공부

JS 공부 

 

매개변수 기본값 (= 선택적 매개변수)

 

1.

= 연산자 사용해 매개변수 기본값 지정 가능.

 

2.

매개변수 자료형에 맞는 값을 사용해야 함.

 

3.

선택적 매개변수 : 기본값 갖는 매개변수.

 


[예제]

 

#include <iostream>

#include <string>

using namespace std;


void studyCode(string code = "C++") {

  cout << code << " 공부\n";

}

int main() {

  studyCode("HTML");

  studyCode("CSS");

  studyCode("JS");

  studyCode(); // C++ 공부

  return 0;

}

 

결과값:

HTML 공부

CSS 공부

JS 공부

C++ 공부

 

여러 매개변수

 

1.

쉼표(,) 이용해 원하는 만큼 매개변수 나열 가능.

 

2.

각각의 매개변수는 자료형 지정해야 함.

 

3.

함수 호출 시 독립변수(인수)는 매개변수와  동일 개수와 순서로 함수로 전달돼야 함.

 


[예제] 기본값 갖는 매개변수 2개 사용.

 

#include <iostream>

#include <string>

using namespace std;


void studyCode(string code = "C++", int tuition = 10000) {

  cout << code << " 과외 - " << tuition << "원\n";

}

int main() {

  studyCode("HTML", 10000);

  studyCode("CSS", 20000);

  studyCode("JS", 30000);

  studyCode();

  return 0;

}

 

결과값:

HTML 과외 - 10000원

CSS 과외 - 20000원

JS 과외 - 30000원

C++ 과외 - 10000원

 

함수 반환값

 

함수가 값을 반환하도록 하려면,

함수 선언 시 void 대신 자료형 (예: string, int 등) 기재해야 하며,

return 키워드를 이용해 값을 반환.

 


[예제1] 매개변수 1개인 경우.

 

#include <iostream>

using namespace std;


int add(int x) {

  return 4 + x;

}

int main() {

  cout << add(3); // 7

  return 0;

}

 

결과값: 7


[예제2] 매개변수 2개인 경우.

 

#include <iostream>

using namespace std;


int add(int x, int y) {

  return x + y;

}

int main() {

  cout << add(3, 4); // 7

  return 0;

}

 

결과값: 7


[예제3] 반환값을 변수에 저장.

 

#include <iostream>

using namespace std;


int add(int x, int y) {

  return x + y;

}

int main() {

  int z = add(3, 4);

  cout << z;

  return 0;

 

결과값: 7


[예제4] 사용자 입력값 받아 더하기.

 

#include <iostream>

using namespace std;


int add(int x, int y) {

  return x + y;

}

int main() {

  int a, b;

  cout << "숫자 입력:";

  cin >> a;

  cout << "숫자 입력:";

  cin >> b;

  cout << add(a, b);

  return 0;

}

 

결과값: 사용자가 입력한 두 숫자의 합을 반환. 

 

참조로 전달

 

& 연산자를 변수명 앞에 붙인 참조변수를 매개변수로 사용 가능.

※ 독립변수 (인수) 변경 할 때 유용.

 


[예제] 

 

#include <iostream>

using namespace std;


void swapNums(int &x, int &y) {

  int z = x;

  x = y;

  y = z;

}

int main() {

  int a = 3;

  int b = 4;

  cout << "교환 전: " << a << b << "\n"; // 34

  swapNums(a, b);

  cout << "교환 후: " << a << b << "\n"; // 43

  return 0;

}

 



분류 제목
basic C++ - Home (입문) - 추천 링크
basic C++ - Intro (소개) - 용도・특징
basic C++ - Start (시작) - Code::Blocks (코드 블럭스) 설치/실행/세팅. ※ 한글 깨짐 해…
basic C++ - Syntax (구문)
basic C++ - Output (출력)
basic C++ - New Lines (줄바꿈)
basic C++ - Comment (주석)
basic C++ - Variable (변수) ★ ※ 상수
basic C++ - User Input (사용자 입력)
basic C++ - Data Type (데이터 타입) - 자료형
basic C++ - Operator (연산자)
basic C++ - String (문자열)
basic C++ - Math (수학)
basic C++ - Boolean (참거짓)
basic C++ - If ... Else - (이프 조건문) ★
basic C++ - Switch (스위치 조건문) ★
basic C++ - While Loop (와일 반복문) ★
basic C++ - For Loop (포 반복문) ★
basic C++ - Break/Continue (브레이크/컨티뉴) 키워드 ★ - 반복문 빠져나가기 / 특정 조건 건너…
basic C++ - Arrays (배열)
1/2
목록
찾아주셔서 감사합니다. Since 2012