2016/06/29 - [컴퓨터/C언어] - 9 C언어의 반복문 조절 continue, break, goto
오늘은 드디어 함수에 대해서 배우는 날입니다!! 함수는 입력을 받는 전달인자가 존재하고 적절한 출력인 반환값이 존재합니다!! 메인 함수를 예를 들어볼게요~
int main (void)
메인함수는 이렇게 생겼죠! 저기서 int 는 반환 형태를 얘기해요 그래서 리턴 값을 정수로 주면 되는 거죠 그리고 main 은 함수의 이름을 얘기하고 void는 전달인자를 의미하는 자리인데 메인 함수이기 때문에 아무것도 전달받지 않는다는 뜻의 void가 들어가 있는 거에요
그럼 함수를 void를 기준으로 4가지로 나눠볼게요
유형 |
전달 인자 |
반환 값 |
1 |
0 |
0 |
2 |
0 |
X |
3 |
X |
0 |
4 |
X |
X |
X 가 들어가 있는 곳에 void가 들어간다고 보시면 되요! 그럼 이제 유형별로 살펴 보면서 덧셈 연산을 해주는 프로그램을 만들어 보도록 할게요
유형 1 : 전달 인자와 반환 값 모두 있는 경우
간단하게 두 숫자를 전달받아 덧셈을 진행하는 함수를 만들어 보도록 할게요!
int Add(int n1, int n2) {
int sum = n1 + n2;
return sum;
}
저기 (int n1, int n2)는 메인함수에서 선언된 변수에요 그렇게 전달 인자를 전달 받아 sum이란 변수에 더해 주고 그 변수를 리턴해주는 거죠
그리고 이 함수가 실제 프로그램에서 어떻게 사용되는지 예제를 통해 보이겠습니다.
#include <stdio.h>
int Add(int n1, int n2) {
int sum = n1 + n2;
return sum;
}
int main(void) {
int n1, n2, sum;
scanf("%d %d", &n1, &n2);
sum = Add(n1, n2);
printf("sum : %d", sum);
}
그리고 이렇게도 사용 가능합니다.
#include <stdio.h>
int Add(int n1, int n2);
int main(void) {
int n1, n2, sum;
scanf("%d %d", &n1, &n2);
sum = Add(n1, n2);
printf("sum : %d", sum);
}
int Add(int n1, int n2) {
int sum = n1 + n2;
return sum;
}
유형 2 : 전달 인자는 있고 반환 값이 없는 경우
void ShowResult(int n) {
printf("sum : %d", n);
}
이 유형은 어떤 결과를 출력할 때 많이 사용해요!
유형 3 : 전달 인자가 없고 반환 값이 있는 경우
int Scan(void) {
int n;
scanf("%d", &n);
return n;
}
아까 봤듯이 main 함수도 이 유형에 속하는데요 이 유형은 함수가 종료될 때 어떤 값을 전달해 줍니다
유형 4 : 전달 인자와 반환 값이 둘다 없는 경우
void StartPage(void) {
printf("10 C언어의 함수\n");
printf("함수의 종류를 배우고 있습니다\n");
printf("두 개의 정수를 입력 : ");
}
이 유형은 이렇게 첫 화면을 출력하는 용도로 많이 사용합니다 그럼 이 함수들을 합쳐서 아까 그 프로그램 보다 더 깔끔한 프로그램을 만들어 볼께요!
#include <stdio.h>
int Add(int n1, int n2) {
int sum = n1 + n2;
return sum;
}
void ShowResult(int n) {
printf("sum : %d", n);
}
int Scan(void) {
int n;
scanf("%d", &n);
return n;
}
void StartPage(void) {
printf("10 C언어의 함수\n");
printf("함수의 종류를 배우고 있습니다\n");
printf("두 개의 정수를 입력 : ");
}
int main(void) {
int n1, n2, sum;
StartPage();
n1 = Scan();
n2 = Scan();
sum = Add(n1, n2);
ShowResult(sum);
}
이렇게 만들었습니다.
지금은 쉬운 프로그램이라 딱히 이렇게 프로그램을 짤 필요는 없지만 나중엔 이렇게 함수를 잘 만들어 놓으면 프로그램을 파악하기 쉽겠죠?
#include <stdio.h>
int Add(int n1, int n2);
void ShowResult(int n);
int Scan(void);
void StartPage(void);
int main(void) {
int n1, n2, sum;
StartPage();
n1 = Scan();
n2 = Scan();
sum = Add(n1, n2);
ShowResult(sum);
}
int Add(int n1, int n2) {
int sum = n1 + n2;
return sum;
}
void ShowResult(int n) {
printf("sum : %d", n);
}
int Scan(void) {
int n;
scanf("%d", &n);
return n;
}
void StartPage(void) {
printf("10 C언어의 함수\n");
printf("함수의 종류를 배우고 있습니다\n");
printf("두 개의 정수를 입력 : ");
}
그리고 이렇게 프로그램을 만들수도 있답니다~
모르는 것은 댓글이나 쪽지로 남겨주시면 성심 성의껏 답변해드리겠습니다!! 댓글, 공감, 구독(이웃추가)는 블로거에게 큰 힘이 됩니다! 부탁드리면서 이번 포스팅을 마치도록 하겠습니다! 지금까지 딘또였습니다
'Develop > C' 카테고리의 다른 글
12 C언어 변수의 접근 범위! (0) | 2016.07.03 |
---|---|
11 C언어 재귀 함수 (0) | 2016.07.02 |
9 C언어의 반복문 조절 continue, break, goto (0) | 2016.06.29 |
8 C언어의 조건문 (0) | 2016.06.29 |
7 C언어의 반복문과 특수문자!! (0) | 2016.06.27 |
댓글