반응형
✅ C언어 함수(Function) 완전정복 – 정의, 호출, 매개변수까지 쉽게 배우기
C언어 프로그램이 길어지고 복잡해질수록,
코드를 더 짧고 효율적으로 만들기 위한 방법이 필요합니다.
그 해답이 바로 **함수(Function)**입니다!
이번 강의에서는 함수의 기본 개념, 정의/호출 방법, 매개변수와 반환값에 대해 자세히 알아봅니다.
🧠 함수란?
함수(Function)는 특정 작업을 수행하는 코드 묶음입니다.
자주 사용되는 코드를 함수로 만들어 두면 재사용, 유지보수, 가독성이 좋아집니다.
🧱 함수의 구조
반환형 함수이름(매개변수목록)
{
실행할 코드;
return 값;
}
📌 예제: 두 수를 더하는 함수
int add(int a, int b)
{
return a + b;
}
호출:
int result = add(3, 5); // result = 8
🛠 함수 정의 방식
- 함수 선언 (선언만 먼저 해놓기 - 함수 프로토타입)
- 함수 정의 (실제 코드 구현)
- 함수 호출
✍ 함수 선언(프로토타입)
int add(int a, int b);
✅ 주로 main() 함수 위에서 선언
✅ main() 아래에 함수 정의해도 문제 없음 (선언만 되어 있으면)
📥 매개변수(Parameter)
함수 호출 시 전달하는 입력값
void greet(char name[ ])
{
printf("Hello, %s!\n", name);
}
호출 예:
greet("홍길동");
📤 반환값(Return)
함수의 실행 결과를 값으로 돌려주는 것
float getPi()
{
return 3.14;
}
호출 예:
float pi = getPi();
🔄 값 전달 방식 (Call by Value)
C언어는 기본적으로 값을 복사하여 함수에 전달합니다.
void change(int num)
{
num = 100;
}
int main()
{
int a = 10;
change(a);
printf("%d", a); // 여전히 10
}
✅ 원본 변수에는 영향 없음
✨ 실전 예제: 최대값 함수
int max(int a, int b)
{
if (a > b)
return a;
else
return b;
}
📌 void 함수
void는 반환값이 없는 함수에 사용됩니다.
void printHello()
{
printf("안녕하세요!\n");
}
🎯 과제
- 두 수를 입력받아 곱셈 결과를 반환하는 함수 작성
- 입력한 숫자가 짝수인지 홀수인지 판단하는 함수 작성
- 학생 점수 5개를 입력받아 평균을 구하는 함수 작성
📚 보너스: 함수 vs 메인 함수
- main() 도 하나의 함수!
- main() 안에서 다양한 함수를 호출하며 프로그램을 구성
🗣 다음 주 예고: 포인터(Pointer)의 세계로 입문!
함수는 변수와 데이터를 주고받는 데 매우 유용했죠?
다음 시간에는 메모리 주소를 직접 다루는 포인터(pointer) 를 배웁니다.
반응형
'C언어 > C언어 기초' 카테고리의 다른 글
초급7강_C언어 문자열(char 배열) 쉽게 배우기 – 문자열 입력, 출력, 함수까지 총정리! (0) | 2025.04.18 |
---|---|
초급6강_C언어 배열(Array) 완전정복 – 초보자도 쉽게 이해하는 배열의 모든 것 (2) | 2025.04.17 |
초급5강_C언어 반복문 쉽게 배우기 – for, while, do-while 완전정복 (0) | 2025.04.17 |
초급4강_C언어 조건문 if, else 쉽게 배우기 – 초보자를 위한 흐름 제어의 첫걸음! (0) | 2025.04.17 |
초급 3강_C언어 연산자 쉽게 배우기 – 산술, 대입, 비교, 논리 연산자 총정리 (0) | 2025.04.17 |