C++

[C++]프로그래밍 기초3

programmer-faust 2025. 6. 2. 23:49
  • 반복작업을 줄여주는 함수
    1. 함수를 사용하면 생기는 장점
      • 가독성 및 재사용성 향상
    2. 함수란?
      • 프로그래밍을 하다 보면 반복적으로 사용되는 코드나 논리적으로 하나로 묶이는 코드가 있다. 해당 코드를 이름을 붙여 정의하고 가져다 쓰는 방식으로 구현하면 코드가 깔끔해지고 재사용성이 높아진다. 해당 방식으로 작업을 정의하고 이름을 붙이는 문법을 함수라고 한다.
#include <iostream>

using namespace std;

// 두 정수를 더하는 함수 (반환 있음)
int add(int a, int b) {
    return a + b; // 결과 반환
}

// 메시지를 출력하는 함수 (반환 없음)
void printMessage() {
    cout << "Hello, Function!" << endl;
}

int main() {
    int result = add(5, 5); //반환값이 있는 함수 호출
    cout << "5 + 5 = " << result << endl; // 출력: 5 + 5 = 10
    
    printMessage(); //반환값이 없는 함수 호출
    return 0;
}
  • 코드블럭 설명
    • int add(int a, int b)로 선언된 함수는 int형태로 반환하는 반환값이 있는 함수이다. 위의 해당 함수는 매개변수 (int a, int b)를 통해 받은 값을 계산하여 호출한 곳으로 return을 통하여 반환해준다.
    • void printMessage()로 선언된 함수는 void형태로 반환값이 없는 함수이다. 호출하게되면 함수 내부에 있는 코드가 실행되며 작동한다.
    • void형태는 반환값이 없기 때문에 void형태의 함수에 return을 사용하게되면 오류가 생기게 된다.
  • 함수에서 값을 전달하는 방식
    1. 값 전달(일반 변수)
      • 값 타입의 변수는 값을 복사하여 함수로 전달됨. => 함수 내부에서 값을 변경해도 원본 변수의 값은 변경되지 않음
    2. 주소값 전달(변수)
      • 변수의 주소값을 함수에 전달하면, 해당 변수에 접근할 수 있음. => 주소값을 전달하기 때문에 함수가 종료된 이후에도 해당 주소의 변수는 값이 수정되어있음.
    3. 주소값 전달(배열)
      • 배열의 주소값을 함수에 전달하면, 해당 배열에 접근할 수 있게됨. => 위의 변수 처럼 함수가 종료된 이후에도 해당 배열의 값이 수정되어 있음 (포인터의 원리를 생각해 보면 변수를 전달하는 경우와 동일함)
    4. 참조자 전달
      • 참조자로 값을 전달하면, 함수 내부에서 값을 변경할 때, 원본 변수의 값도 변경됨.

'C++' 카테고리의 다른 글

[C++]STL(Standard Template Library)  (1) 2025.06.11
[C++]템플릿  (0) 2025.06.09
[C++] 자원 관리하기  (0) 2025.06.09
[C++]프로그래밍 기초2  (0) 2025.05.29
[C++]프로그래밍 기초1  (0) 2025.05.28