C

C언어(5) 기초5

사회적가치누리 2024. 11. 12. 17:37
목차
18. 함수

 

 

18. 함수

 

함수를 선언 할때는 먼저

main 함수 위쪽에서 선언을 해주고, 예) void a(int num);

main 함수 아래쪽에서 똑같은 함수 선언문을 중괄호로 감싸줍니다.

예) void a(int num) {   }

 

void p(int num); // 선언

int main(void)
{
	int num = 2;
	p(num);

	num = num + 3;
	p(num);

	num -= 1;
	p(num);

	num *= 3;
	p(num);

	num /= 6;
	p(num);


	return 0;
}

// 정의
void p(int num)
{
	printf("num은 %d 입니다.\n", num);
}

 

함수의 생김새는

 

반환형 함수이름 (전달값)

{

 

}

으로 구성되어있습니다.

 

반환형에 int,float,char,등 여러가지 타입으로 반환 할 수도있고,

반환을 하지 않겠다라고 하면 void를 사용하시면 됩니다.

void는 아무것도 없다는 뜻입니다.

 

그리고 전달값에는 여러개의 값을 넣을 수 있고,

전달값은 main문 위에 선언한 부분과 똑같아야합니다.

 

// 선언
void p(int num);
void function_without_return(); // 반환값이 없는 함수
int function_with_return(); // 반환값이 있는 함수
void function_without_params(); // 파라미터(전달값)이 없는 함수
void function_with_params(int num1, int num2, int num3); // 파라미터(전달값)이 있는 함수
int apple(int total, int ate); // 전체 total 개에서 ate 개를 먹고 남은 수를 반환
// 파라미터(전달값)도 받고, 반환값이 있는 함수
int main(void)
{
	function_without_return();
	int ret1 = function_with_return();
	p(ret1);

	function_without_params();
	function_with_params(35, 27, 12);

	int ret2 = apple(5, 2);
	//printf("사과 5개 중에 2개를 먹으면? %d 개가 남아요\n", ret2);
	printf("사과 %d개 중에 %d개를 먹으면? %d 개가 남아요\n", 10,4,apple(10,4));
	return 0;
}

// 정의

void p(int num)
{
	printf("num은 %d 입니다.\n", num);
}

void function_without_return()
{
	printf("반환값이 없는 함수입니다.\n");
}
int function_with_return()
{
	printf("반환값이 있는 함수입니다.\n");
	return 10;
}
void function_without_params()
{
	printf("전달값이 없는 함수입니다.\n");
}
void function_with_params(int num1, int num2, int num3)
{
	printf("전달값이 있는 함수이며, 전달받은 값은 %d, %d, %d, 입니다.\n", num1, num2, num3);

}
int apple(int total, int ate)
{
	printf("전달값과 반환값이 있는 함수입니다.\n");
	return total - ate;
}

 

함수를 이용해 계산기를 만들어 보겠습니다.

 

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(void)
{
	
	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;
}

 

 

'C' 카테고리의 다른 글

C언어(7) 기초7  (0) 2024.11.16
C언어(6) 기초6  (0) 2024.11.13
C언어(4) 기초4  (0) 2024.11.11
C언어(3) 기초3  (0) 2024.11.08
C언어(2) 기초2  (0) 2024.11.05