리턴타입 함수이름(매개변수들) {
// 함수 내용
return 반환값;
}
// 예시
int add(int a, int b) {
int sum = a + b;
return sum;
}
상세 설명:
int
: 함수의 반환 타입으로, 이 함수는 정수(integer)를 반환한다는 의미add
: 함수의 이름으로, 기능을 알 수 있게 지었음(int a, int b)
: 매개변수 부분으로, 두 개의 정수를 입력받음int sum = a + b
: 지역변수 sum을 선언하고 두 매개변수의 합을 저장return sum
: sum 값을 함수 호출부로 반환
int calculateSquare(int number) {
int result = number * number;
return result;
}
int main() {
int input = 5;
int answer = calculateSquare(input); // answer는 25가 됨
printf("5의 제곱은 %d입니다.\\n", answer);
return 0;
}
상세 설명:
- 함수 호출 과정:
- main 함수에서 input 변수에 5를 저장
- calculateSquare 함수 호출 시 input 값을 매개변수 number로 전달
- number * number 계산 후 결과를 result에 저장
- result 값을 return으로 반환
- 반환된 값이 answer 변수에 저장
- 메모리 동작:
- input은 main 함수의 지역변수
- number는 calculateSquare 함수의 매개변수
- result는 calculateSquare 함수의 지역변수
void printScore(char* name, int score) {
if(score >= 90) {
printf("%s님은 A등급입니다.\\n", name);
} else if(score >= 80) {
printf("%s님은 B등급입니다.\\n", name);
} else {
printf("%s님은 C등급입니다.\\n", name);
}
}
int main() {
printScore("홍길동", 85); // "홍길동님은 B등급입니다." 출력
return 0;
}
상세 설명:
- void 반환 타입:
- 함수가 값을 반환하지 않음을 의미
- printf를 통한 출력만 수행
- 매개변수 설명:
char* name
: 문자열을 받기 위한 포인터 타입 매개변수int score
: 점수를 받기 위한 정수형 매개변수- 조건문 처리:
- if-else if-else 구조로 점수대별 등급 판단
- printf로 이름과 등급을 함께 출력
int getRandomNumber() {
return 7; // 간단한 예시를 위해 고정값 반환
}
int getCurrentYear() {
return 2024;
}
// 실제 활용 예제: 게임의 초기 점수를 반환하는 함수
int getInitialScore() {
int baseScore = 100; // 기본 점수
return baseScore;
}
int main() {
int score = getInitialScore(); // 100이 반환됨
printf("시작 점수: %d\\n", score);
int year = getCurrentYear(); // 2024가 반환됨
printf("현재 연도: %d\\n", year);
return 0;
}
상세 설명:
- 함수 특징:
- 매개변수가 없음 (빈 괄호)
- 반환 타입과 return문이 있음
- 함수 내부에서 계산이나 처리 후 결과만 반환
void displayWelcomeMessage() {
printf("*************************\\n");
printf("* 게임을 시작합니다! *\\n");
printf("*************************\\n");
}
// 메뉴 출력 함수
void showGameMenu() {
printf("\\n=== 게임 메뉴 ===\\n");
printf("1. 게임 시작\\n");
printf("2. 설정\\n");
printf("3. 종료\\n");
printf("===============\\n");
}
// 게임 규칙 설명 함수
void explainRules() {
printf("게임 규칙:\\n");
printf("1. 캐릭터는 방향키로 조작합니다.\\n");
printf("2. 아이템을 모으면 점수가 올라갑니다.\\n");
printf("3. 장애물을 피해야 합니다.\\n");
}
int main() {
int choice;
displayWelcomeMessage(); // 환영 메시지
showGameMenu(); // 메뉴 표시
printf("메뉴를 선택하세요: ");
scanf("%d", &choice);
if(choice == 1) {
explainRules(); // 게임 규칙 설명
}
return 0;
}