티스토리 뷰

Language/C 언어

C언어의 함수 사용방법

데브훈96 2020. 2. 8. 14:20

안녕하세요, IT디자이너입니다. 

 

이번에는 C언어에서의 간단한 함수 사용 방법과 활용 방법에 대해서 포스팅하도록 하겠습니다. 

 

C언어의 함수 구성

 

C언어의 간단한 함수 구성입니다. 가장 먼저 프로젝트 파일을 생성 시 main() 함수가 있는 것을 볼수 있으실텐데요 

소괄호 안의 "void"는 생략이 가능합니다.  그리고 main() 함수는 C언어가 컴파일 될 때 가장 먼저 실행된다는 것을 알고 있으시면 좋습니다.

 

네, 이제 본론으로 우리가 원하는 함수를 생성하는 방법에 대해서 소개해드릴려고 합니다. 

 

우리가 함수를 정의 하고싶을 때는 무조건 main() 함수 위에서 정의를 해주셔야합니다. 

 

#include <stdio.h>

void hello(){

printf("안녕하세요");

}

int main(){

 hello();

 return 0;
}

 

위의 코드처럼 위에서 main 위에서 사용하였기에 오류없이 정상적으로 코드는 실행됩니다. 하지만, 여러개의 함수를 생성하게 될 경우 main() 함수가 점점 아래로 밀려나 가시성이 좋지 못하게됩니다. !!! (코드 작성시 가시성이 매우 중요합니다.!!!)

 

그렇기 때문에 main() 함수 밑에 함수를 정의할 수 있도록 하는 방법이 있습니다. 

 

#include <stdio.h>

void hello(); // 함수의 선언


int main(){

 hello();
 
 retrun 0;
}


void hello(){ //함수의 정의

printf("안녕하세요!");

}

 위 코드처럼 main() 함수 위에 함수를 선언만 하고 정의는 main() 함수 밑에 정의를 하였을 경우 오류 없이 정상적으로 코드는 실행됩니다.

 

함수의 반환형이 int일 경우에는 int형 데이터를 return으로 반환해야하며, void일 경우에는 return만 사용하여 함수를 종료할 수 있습니다.

또한 반환형이 void인 경우는 return을 사용하지 않아도 함수가 처음부터 끝까지 실행 후 종료됩니다. 그리고 return을 여러개 사용할 수도 있습니다.

 

void hello(int num){

if(num==1){
  printf("hi");
  return;
}else {
  printf("HI");
  return;
}



}

int main(){

  int num = 1;

  hello(num);

  return 0;
}

이런식으로 return을 활용해서 매개변수에 따라서 함수를 상황에 맞게 종료시킬 수도 있습니다.

 

 

 

그러면, 함수를 정의할 때 다른 함수를 사용할 수 있을까요? 결론을 말씀드리면 가능합니다.!!!!

 

다른 함수에서 사용할 함수가 정의하고 있는 함수 보다 위에서 정의되어 있어야 합니다.

 

#include <stdio.h>

int check(int num1, int num2);

void check2(int num1, int num2);

int main(){

int num1 = 10;

int num2 = 20;

check2(num1, num2);

return 0;
}

int check(int num1, int num2){

if(num1 > num2)
 retrun 0;
else 
 return 1;

}

void check2(int num1, int num2){

if(check())
 printf("num1이 더 큽니다.!");
else 
 printf("num2가 더 큽니다.!");

}

 

위 코드처럼 함수를 정의할 때 다른 함수를 사용할 수 있습니다.!


함수를 사용하는 방법에 대하여 간단하게 포스팅 하였습니다. 조금 더 함수를 효율적으로 사용하는 방법에 대해서는 추후 포스팅에서 설명드리도록 하겠습니다.!!!

 

감사합니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함