티스토리 뷰
안녕하세요, IT디자이너입니다.
이번에는 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가 더 큽니다.!");
}
위 코드처럼 함수를 정의할 때 다른 함수를 사용할 수 있습니다.!
함수를 사용하는 방법에 대하여 간단하게 포스팅 하였습니다. 조금 더 함수를 효율적으로 사용하는 방법에 대해서는 추후 포스팅에서 설명드리도록 하겠습니다.!!!
감사합니다.
'Language > C 언어' 카테고리의 다른 글
C언어의 배열 사용방법 (0) | 2020.02.09 |
---|---|
C언어의 지역변수와 전역변수 static,register 변수 (0) | 2020.02.08 |
C언어의 리터럴(Literal) 상수와 심볼릭(Symbolic) 상수 (0) | 2020.02.08 |
C언어의 여러가지 데이터 타입의 연산 방식 (0) | 2020.02.07 |
printf(), scanf() (0) | 2020.02.05 |
- Total
- Today
- Yesterday
- C언어 #IT디자이너
- C언어 #C++ #캐시hit #캐시라인 #캐시무효화
- 스택 #자료구조 #Stack #IT디자이너 #알고리즘 #C언어 #스택 과제 #C++
- C언어 #C++ #IT디자이너 #C++ 함수
- C언어 #C++ #어셈블리어 #함수 호출 규약 #IT디자이너 #비쥬얼 스튜디오 #IT
- 어셈블리어 #IT디자이너 #C언어 #C++언어 #어셈블리 #어셈블러
- C언어 #IT디자이너 #포인터 #배열 #포인터와 배열
- IT디자이너 #C언어 #C++ #속성지정자 #기억클래스 #IT #const #static #register #volatile #extern #auto #s
- C언어 #C++ #어셈블리어 #IT디자이너 #비트연산자 #연산자 #C언어의 비트 연산자
- C언어 #C++ #switch #if #어셈블리어 #switch문 사용 이유 #IT디자이너
- C언어 #C++ #삼각함수 #IT디자이너 #문제풀이 #2진수 #16진수 #비트 #bit #비트연산자
- IT디자이너 #QuickSort #퀵정렬 #C언어 #C++ #자료구조 #알고리즘
- C언어 #C++ #어셈블리어 #구조체 #구조체 특징 #IT디자이너
- QUEUE #큐 #자료구조 #원형 큐 #Circle Queue #IT디자이너 #큐 과제 #C언어 #C++언어
- C언어 #C++ #파일 입출력 #텍스트파일 #IT디자이너
- 디버그 #Debug #Release #디버그와 릴리즈 차이 #C언어 #C++언어 #어셈블리어
- C언어 #C++ #IT디자이너 #함수 #재귀 함수 #스택 #자료구조 #페인팅
- C언어 #C++ #자료구조 #알고리즘 #IT디자이너 #버블 정렬 #BubbleSort
- C언어 #C++ #구조체 정렬 #pragma #IT디자이너
- Debug #C언어 #C++ #비쥬얼스튜디오 #Release #IT
- C언어 #포인터 #IT디자이너
- C언어 #포인터 #배열 포인터 #포인터 배열 #함수
- C언어 #스트림 #버퍼링 #표준 입출력 함수 #C++언어 #IT디자이너
- C언어 #자료구조 #C++ #연결리스트 #리스트 #알고리즘 #IT디자이너
- C언어 #IT디자이너 #C++언어
- IT디자이너 #C언어 #C++ #IT디자이너 #코딩테스트
- C언어 #C++ #IT디자이너
- C언어 #C++ #어셈블리어 #열거형 데이터타입 #IT디자이너
- C언어 #C++ #어셈블리어 #재귀함수 #IT디자이너
- C언어 #C++ #시간 함수 #타이밍 맞추기 #timer interrupt #IT디자이너
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |