반응형
1. 함수
💡특정 용도의 코드를 한 곳에 모아 놓은것으로 독립적인 기능을 가지는 프로그램의 구성 요소 이다. |
함수의 필요성
- 코드의 재사용: 동일한 작업을 여러번 할떄, 코드 중복을 피할 수 있다.
- 코드 가독성: 복잡한 작업을 함수로 작성하면 가독성이 향상된다.
- 유지보수: 함수를 수정하면 함수를 사용한 모든 부분이 수정된다.
- 여러사람이 분할해서 작업할 수 있다.
2. 함수의 작성
구성요소
- 반환형(Return Type): 함수가 반환하는 데이터의 타입 지정 (반환값이 없으면 void)
- 이름: 함수를 호출할때 사용하는 함수 이름
- 매개변수(Parameter): 함수가 입력 받는 값을 지정, 매개 변수가 없으면 빈괄호'()' 사용
- 함수 본문(Body): 함수가 수행할 작업, '{}' 중괄호로 감싸 있다.
형태
반환형 함수이름(매개변수 목록) {
// 함수 본문
return 반환값; // 반환형이 void인 경우 생략 가능
}
예시
#include <stdio.h>
// 함수 정의
int add(int a, int b) {
return a + b; // 두 정수를 더한 결과를 반환
}
int main() {
int result;
result = add(5, 3); // 함수 호출, return 값이 돌아옴
printf("Result: %d\n", result);
return 0;
}
👆 'add'함수는 두개 정수를 더한 결과를 반환한다. int는 반환형이고, add는 함수 이름 a,b는 매개변수 이다.
3. 함수의 선언
#include <stdio.h>
int main() {
int result;
result = add(5, 3); //ERROR : 컴파일러는 add가 뭔지 모른다.
printf("Result: %d\n", result);
return 0;
}
// 함수 정의
int add(int a, int b) {
return a + b;
}
👆 함수를 main 밑에서 정의하고 싶으면 먼저 함수를 선언해야 한다.
#include <stdio.h>
// 함수 선언 (프로토타입)
int add(int a, int b);
int main() {
int result;
result = add(5, 3); // 함수 호출
printf("Result: %d\n", result);
return 0;
}
// 함수 정의
int add(int a, int b) {
return a + b;
}
5. 함수의 형태
👇매개 변수가 없는 함수
int func(void){
}
// func()로도 선언 가능하지만 명시적으로 적어주는 것이 좋다.
👇return 이 없는 함수
void func(void){
}
// return 값이 없이 사용 가능
- void를 이용한 함수의 정의
- void는 "존재하지 않음"을 의미한다.
- 반환형으로 void가 선언되면 반환형이 없다.
- void가 매개변수로 선언되면 매개 변수는 없다.
매개변수의 개수
- 출력은 최대 하나지만, 입력을 둘 이상 될 수 있다.
- ','를 사용하여 둘 이상의 매개변수를 선언할 수 있다.
6. 함수의 호출
- 함수가 호출되면 호출된 함수의 실행을 위해 이동한다
- 전달인자는 매개변수를 초기화 한다.
- 매개변수는 선언된 함수에서만 접근할 수 있다.
- 반환 값은 함수가 호출된 위치로 전달한다..
끝
반응형
'c언어 > c언어' 카테고리의 다른 글
[c언어] typedef (0) | 2025.03.02 |
---|---|
[c언어] strcnpy (0) | 2025.03.02 |
[c언어] strcpy (0) | 2025.03.02 |
[c언어] '%s'와 '%[n]s' (0) | 2024.06.08 |
[c언어] strcmp (2) | 2024.05.31 |