출처 : Smile Han
- 함수는 “기능 하나를 묶은 코드”
- 필요할 때 호출해서 사용함
- 반복 코드를 줄이기 위해 사용함
핵심 요소 3개:
- 입력값(매개변수)
→ 함수에 전달하는 값 - 실행
→ 함수가 실제 작업 수행 - 반환값(return)
→ 작업 결과를 돌려줌
그리고:
- 프로그램은 main 함수부터 시작
- 함수 안 변수는 보통 함수 밖에서 사용 불가
- 함수 쓰면 코드가 깔끔하고 재사용 쉬움
진짜 핵심 한 줄:
“함수는 특정 작업을 재사용하기 위한 기능 단위” 입니다.
- Ctrl + M, O : 함수 구현부를 접어서 C 코드 구조를 빠르게 보기 좋게 정리함
- Ctrl + M, L : 모든 함수/영역 접기 상태를 한 번에 펼치거나 다시 접음
- Parameter(매개변수) : 함수를 정의할 때 입력값을 받기 위해 선언한 변수
- Argument(인자) : 함수를 호출할 때 실제로 전달하는 값
- Return value(리턴값) : 함수 실행 후 호출한 곳으로 돌려주는 결과값

C에서 가장 자주 쓰이는 표준 라이브러리 함수들을 용도 기준으로 정리하면 대략 이런 순서로 많이 사용됩니다.
순위함수설명
| 1 | printf() | 출력 |
| 2 | scanf() | 입력 |
| 3 | strlen() | 문자열 길이 |
| 4 | strcpy() | 문자열 복사 |
| 5 | strcmp() | 문자열 비교 |
| 6 | fgets() | 문자열 입력 |
| 7 | malloc() | 동적 메모리 할당 |
| 8 | free() | 메모리 해제 |
| 9 | memset() | 메모리 초기화 |
| 10 | memcpy() | 메모리 복사 |


C언어에서 return문은 함수의 실행을 끝내고, 그 결과를 호출한 곳으로 되돌려주는 역할을 한다.
함수는 실행 흐름이 위에서 아래로 진행되는데, return을 만나면 그 즉시 함수가 종료되고 더 이상 아래 코드는 실행되지 않는다.
또한 return은 함수의 반환 타입과 반드시 맞아야 한다. 예를 들어 int 함수라면 정수 값을 반환해야 하고, void 함수라면 값을 반환하지 않거나 단순히 함수 종료만 의미한다.
정리하면 return문은 “함수 종료 + 값 전달”이라는 두 가지 기능을 동시에 가진 핵심 제어문이다.
C언어에서 **%s는 문자열(string)을 출력하거나 입력받을 때 사용하는 형식 지정자(format specifier)**이다.
핵심 의미
- %s = 문자 배열(char 배열) 또는 문자열(char pointer)을 다룸
- 문자열의 시작 주소부터 널 문자 \0까지 전체를 출력/입력
출력에서의 의미 (printf)
- 문자열을 그대로 출력할 때 사용
- 문자열 끝(\0)을 만날 때까지 한 글자씩 출력
👉 즉, "Hello" 같은 문자열을 통째로 출력할 때 사용

