Tech Blog/C and C++
C언어 - 함수의 기본에 대해서.
EXPRESSIONS HAVE POWER
2021. 6. 9. 16:29
1. 함수 기본형
#include <stdio.h>
// 선언
void p(int num);
int main(){
// function
// 계산기
int num =2;
// printf("num 은 %d 입니다.\n", num); // 2
p(num);
// 2 + 3 은?
num = num + 3; // num + 3;
p(num);
// 5 - 1 은?
num -= 1; // num = num - 1
p(num);
// 4 x 3 은 ?
num *= 3;
p(num);
// 12 / 6 은?
num /= 6;
p(num);
return 0;
}
void p(int num)
{
printf("num 은 %d입니다.\n", num);
}
실행결과
num 은 2입니다.
num 은 5입니다.
num 은 4입니다.
num 은 12입니다.
num 은 2입니다.
2. 반환 값이 있는 함수, 반환 값이 없는 함수
#include <stdio.h>
// 선언
void p(int num);
void function_without_return();
int function_with_return();
int main(){
// function_without_return();
// return 0;
int ret = function_with_return();
p(ret);
return 0;
}
// p 함수
void p(int num)
{
printf("num 은 %d입니다.\n", num);
}
// 반환 값이 없는 함수
void function_without_return()
{
printf("반환 값이 없는 함수입니다.\n");
}
// 반환 값이 있는 함수
int function_with_return()
{
printf("반환 값이 있는 함수입니다.\n");
return 10;
}
실행결과
반환 값이 있는 함수입니다.
num 은 10입니다.
3. 파라미터(전달값)가 없는 함수
#include <stdio.h>
void function_without_params();
int main(void)
{
function_without_params();
}
void function_without_params()
{
printf("전달값이 없는 함수입니다\n");
}
실행결과
전달값이 없는 함수입니다
4. 파라미터(전달값)가 있는 함수
#include <stdio.h>
void function_with_params(int num1, int num2, int num3);
int main(void)
{
function_with_params(1, 2, 3);
}
void function_with_params(int num1, int num2, int num3)
{
printf("전달값이 있는 함수이며, 전달 값은 %d %d %d 입니다.\n", num1, num2, num3);
}
실행결과
전달값이 있는 함수이며, 전달 값은 1 2 3 입니다.
5. 파라미터(전달값)도 받고, 반환값이 있는 함수
#include <stdio.h>
void function_with_params(int num1, int num2, int num3);
int apple(int total, int ate); // 전체 total 갯수에서 ate 갯수를 먹고 남운 수를 반환
int main(void)
{
int ret = apple(5,2); // 5개의 사과중에서 2개를 먹었어요.
printf("사과 5개중 2개를 먹으면 %d개가 남아요.\n",ret);
return 0;
}
int apple(int total, int ate){
printf("전달 값과 반환 값이 있는 함수입니다.\n");
return total - ate;
}
실행결과
사과 5개중 2개를 먹으면 3개가 남아요.
------------------------------------------------------------------------------
#include <stdio.h>
void function_with_params(int num1, int num2, int num3);
int apple(int total, int ate); // 전체 total 갯수에서 ate 갯수를 먹고 남운 수를 반환
int main(void)
{
printf("사과 %d개중 %d개를 먹으면 %d개가 남아요.\n", 10, 4, apple(10,4));
return 0;
}
int apple(int total, int ate){
printf("전달 값과 반환 값이 있는 함수입니다.\n");
return total - ate;
}
실행결과
사과 10개중 4개를 먹으면 6개가 남아요.
6. 함수로 간단한 계산기 work-flow 구현하기
// 계산기 함수 만들기
#include <stdio.h>
void p(int num);
int add(int num1, int num2);
int sub(int num1, int num2);
int mul(int num1, int num2);
int div(int num1, int num2);
int main()
{
int num = 2;
num = add(num, 3);
p(num);
num = sub(num, 1);
p(num);
num = mul(num, 3);
p(num);
num = div(num, 6);
p(num);
return 0;
}
void p(int num)
{
printf("num 은 %d 입니다.\n", num);
}
int add(int num1, int num2)
{
return num1+num2;
}
int sub(int num1, int num2)
{
return num1-num2;
}
int mul(int num1, int num2)
{
return num1*num2;
}
int div(int num1, int num2)
{
return num1/num2;
}
실행결과
num 은 5 입니다.
num 은 4 입니다.
num 은 12 입니다.
num 은 2 입니다.