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

[function] C++ - Functions (함수) - 정의/호출

5,931  
목차
  1. 함수 정의
  2. 함수 생성
  3. 함수 호출
  4. 함수 구성 (선언 & 정의)과 배치

 

함수 정의

 

1.

함수 : 특정 작업 수행 위한 코드 묶음.

 

2.

해당 함수를 호출할 때만 실행됨.

 

3.

매개변수 갖는 함수 정의 후,  해당 함수로 독립변수 전달 가능.

 

※ 매개변수 : 

사용자로부터 데이터 받는 입구. (예) int add(x, y) {...}

 

※ 독립변수 (= 인수) : 

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

 

4.

함수 사용하면, 코드 재사용해 코드 양을 줄일 수 있음.

 

 

함수 생성

 

1.

함수는 '사전 정의 함수'와 '사용자 정의 함수'로 구분.

 

(1) 사전 정의 함수.

C++엔 main() 함수처럼 미리 정의된 함수 존재.

※ main() 함수 : 코드 실행에 사용됨.

 

(2) 사용자 정의 함수.

사용자가 직접 정의한 함수로서, 아래처럼 정의.

(예)

returnType functionName() {

  // 실행코드

}

 

2.

함수가 실행만 할 뿐 반환값 없게 하려면, void 키워드 사용.

(예)

void functionName() {

  // 실행코드

} 

 

 

함수 호출

 

1.

함수는 정의된 후, 바로 실행되지 않음.

오직, 해당 함수가 호출될 때만 실행됨.

 

2.

함수 호출 방법은 아래와 같음.

functionName(); 

 

만약, 

functionName(a, b); 처럼 매개변수 갖는 함수 경우, 

functionName(4, 5); 처럼 독립변수 기재해 호출함.

 

3.

함수는 여러 번 호출 가능.

 

4.

사용자 정의 함수는 main() 함수 위에 선언해야 함.

 


[예제] 

 

#include <iostream>

using namespace std;

void mySite() {

  cout << "Homzzang.com\n";

}

int main() {

  mySite();

  mySite();

  mySite();

  return 0;

}


결과값: 

Homzzang.com

Homzzang.com

Homzzang.com

 

함수 구성 (선언 & 정의)과 배치

 

1.

C++에서 함수는 2부분으로 구성됨.

※ 선언 부분 : 반환 타입, 함수명, (존재 시) 매개변수.

※ 정의 부분 : { } 안에 정의된 실행 코드

 

void mySite() { // 선언 부분

  cout << "Homzzang.com\n"; // 정의 부분

}

 

2.

사용자 정의 함수는 main() 함수 앞에 배치해야 함. (예제1)

만약,

사용자 정의 함수를 main() 함수 뒤에 배치 시, 에러 발생. (예제2)

왜냐면, C++은 (위 → 아래) 순서로 실행되므로,

프로그램이 사용자 정의 함수를 인식 못 하기 때문.

 

3.

코드 최적화 위해,

함수 선언 부분을 main() 함수 위에 배치 후,

main() 함수 밑에서 함수 정의해도 무방함. (예제3)

 


[예제1] 사용자정의함수가 main() 함수 에 있어, 정상 출력.

 

#include <iostream>

using namespace std;

void mySite() {

  cout << "Homzzang.com";

}

int main() {

  mySite(); // Homzzang.com

  return 0;

}

 

결과값: Homzzang.com


[예제2] 사용자정의함수가 main() 함수 에 있어, 에러 발생.

 

#include <iostream>

using namespace std;

int main() {

  mySite(); // 에러 발생.

  return 0;

}

void mySite() {

  cout << "Homzzang.com";

}

 

결과값: 에러 발생.

 


[예제3] 함수 선언이 main() 위에 존재 시, main() 밑에서 정의 가능.

 

#include <iostream>

using namespace std;

void mySite();

int main() {

  mySite();

  return 0;

}

void mySite() {

  cout << "Homzzang.com";

}


결과값: Homzzang.com



분류 제목
function C++ - Functions (함수) - 정의/호출
function C++ - Function Parameters (함수 매개변수)
function C++ - Function Overloading (함수 오버로딩)
목록
찾아주셔서 감사합니다. Since 2012