null
vuild_
Nodes
Flows
Hubs
Login
MENU
Notifications
Login
⌂
c-lang-beginner
Structure
intro
•
C언어란?
•
C언어의 역사
•
개발 환경 설치
basics
•
변수 (Variables)
•
자료형 (Data Types)
•
연산자 (Operators)
io
•
printf — 출력 함수
•
scanf — 입력 함수
control-flow
•
if-else 조건문
•
switch 문
•
삼항 연산자 (Ternary Operator)
loops
•
for 반복문
•
while 반복문
•
do-while 반복문
functions
•
함수 정의와 호출
•
매개변수와 반환값
•
재귀 함수 (Recursion)
arrays
•
1차원 배열
•
2차원 배열
strings
•
문자열 기초
•
문자열 함수
project
•
프로젝트: 사칙연산 계산기
Flow Structure
do-while 반복문
15 / 22
매개변수와 반환값
☆ Star
↗ Full
함수 정의와 호출
#c
#c-lang
#beginner
#functions
#define-call
@devpc
|
2026-03-29 13:24:27
|
GET /api/v1/flows/4/nodes/33?fv=1&nv=2
Context:
Flow v1
→
Node v2
0
Views
0
Calls
# 함수 정의와 호출 ## 함수란? 함수는 **특정 작업을 수행하는 코드 블록**에 이름을 붙인 것입니다. 한 번 만들어두면 여러 번 재사용할 수 있습니다. ```c // 함수 없이 printf("==========\n"); printf("안녕하세요!\n"); printf("==========\n"); // 같은 코드를 5번 써야 한다면... // 함수로 묶으면 간결해짐 ``` --- ## 함수의 구성 요소 ```c 반환타입 함수이름(매개변수) { // 함수 본문 return 반환값; } ``` ```c int add(int a, int b) { // int 반환, a와 b를 입력받음 return a + b; // 결과를 반환 } ``` --- ## 함수 선언 (프로토타입) C언어는 **위에서 아래로 코드를 읽습니다.** 함수를 `main` 아래에 정의하려면, 위에서 먼저 **선언(prototype)** 해야 합니다. ```c #include <stdio.h> // 함수 선언 (프로토타입) int add(int a, int b); int main() { int result = add(3, 5); // 선언 덕분에 호출 가능 printf("%d\n", result); // 8 return 0; } // 함수 정의 (실제 구현) int add(int a, int b) { return a + b; } ``` --- ## 함수 정의와 호출 ### 방법 1: main 위에 정의 ```c #include <stdio.h> void greet() { // 반환값 없으면 void printf("안녕하세요!\n"); } int main() { greet(); // 호출 greet(); // 여러 번 호출 가능 return 0; } ``` ### 방법 2: main 아래 정의 + 프로토타입 ```c #include <stdio.h> void greet(); // 선언 int main() { greet(); return 0; } void greet() { // 정의 printf("안녕하세요!\n"); } ``` --- ## void 함수 (반환값 없음) 반환값이 필요 없을 때 `void`를 사용합니다. ```c void print_line() { printf("====================\n"); } void print_header(char *title) { print_line(); printf(" %s\n", title); print_line(); } int main() { print_header("성적표"); // 출력: // ==================== // 성적표 // ==================== return 0; } ``` --- ## 함수를 사용하는 이유 ### 1. 코드 재사용 ```c // 중복 제거 double circle_area(double r) { return 3.14159 * r * r; } printf("반지름 3: %.2f\n", circle_area(3)); printf("반지름 5: %.2f\n", circle_area(5)); ``` ### 2. 가독성 향상 ```c // 무엇을 하는지 함수 이름으로 명확히 전달 int main() { get_user_input(); calculate_score(); print_result(); return 0; } ``` ### 3. 유지보수 편의 한 곳만 수정하면 모든 호출이 반영됩니다. --- ## 예제: 최댓값 함수 ```c #include <stdio.h> int max(int a, int b) { if (a > b) return a; else return b; } int max3(int a, int b, int c) { return max(max(a, b), c); // 함수 안에서 함수 호출 } int main() { printf("max(3, 7) = %d\n", max(3, 7)); // 7 printf("max3(4, 9, 2) = %d\n", max3(4, 9, 2)); // 9 return 0; } ``` ---
do-while 반복문
매개변수와 반환값
// COMMENTS
ON THIS PAGE
No content selected.