Layer7
함수 보고서
cg10036
2019. 4. 6. 22:53
1. 함수의 정의와 쓰이는 이유는?
프로그래밍에서 함수는 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합으로 정의 할 수 있습니다. 우리가 흔히 보는 printf, scanf 등도 함수이다.
함수를 쓰는 이유는 편리하고, 소스코드가 더욱 보기 편해지기 때문이다.
#include <stdio.h>
int main()
{
printf("%d", 1 + 3);
printf("%d", 1 + 4);
printf("%d", 1 + 5);
printf("%d", 1 + 6);
printf("%d", 1 + 3);
printf("%d", 1 + 4);
printf("%d", 1 + 5);
printf("%d", 1 + 6);
printf("%d", 1 + 3);
printf("%d", 1 + 4);
printf("%d", 1 + 5);
printf("%d", 1 + 6);
printf("%d", 1 + 3);
printf("%d", 1 + 4);
printf("%d", 1 + 5);
printf("%d", 1 + 6);
printf("%d", 1 + 3);
printf("%d", 1 + 4);
printf("%d", 1 + 5);
printf("%d", 1 + 6);
}
#include <stdio.h>
void print(void);
int main()
{
print();
print();
print();
print();
print();
}
void print(void)
{
printf("%d", 1 + 3);
printf("%d", 1 + 4);
printf("%d", 1 + 5);
printf("%d", 1 + 6);
}
2. 함수를 정의와 선언하는 방법
함수를 정의/선언하는 방법은 main함수 위에 써서 정의 및 선언을 동시에 하는 방법, main함수 위에 선언을 하고 main함수 밑에 정의를 하는 방법으로 나뉜다.
#include <stdio.h>
void run(void) // 정의와 선언을 동시에 수행
{
printf("hello world");
}
int main()
{
run();
}
#include <stdio.h>
void run(void); // 선언
int main()
{
run();
}
void run(void) // 정의
{
printf("hello world");
}
3. 함수의 구조
함수의 구조는 이러하다.
반환할자료형 함수이름(전달할 자료형과 변수 이름)
{
...
}
반환할자료형[EX:int] 함수이름[EX:run](전달할 자료형과 변수 이름[EX:int a]);
int main()
{
...
}
int run(int a)
{
...
}
4. 함수의 형태
void run(void) // void run()과 같다. 반환 : X, 인자 : X
{
...
}
int run(void) // int run()과 같다. 반환 : int값, 인자 : X
{
...
}
void run(int num) // 반환 : X, 인자 : int값
{
...
}
int run(int num) // 반환 : int값, 인자 : int값
{
...
}
5. 재귀함수
재귀함수는 함수가 자기자신을 계속 호출하여 조건에 만족하면 return하는 함수를 말한다.
#include <stdio.h>
int run(int i, int sum); // 함수선언
int main()
{
int i;
printf("입력 : ");
scanf("%d", &i);
printf("%d", run(i, 1));
}
int run(int i, int sum) // 함수정의
{
if(i == 0) // i가 0이면
{
return sum; // sum을 return해라
}
sum *= i; // i X sum
run(--i, sum); // run호출
}