코딩/C

C언어에서 함수는?

GU 2022. 10. 12. 19:24
반응형

우리가 초등학교에서 배웠던 함수는 이렇게 생겼을 것이다.

함수란 한자로는 숫자가 들어있는 상자

 

두집합 사이의 관계를 설명하는 논리적인 개념이다.

 

 

우리가 프로그래밍을 접하게 된다면 함수가 안들어가는 부분이 없다.

즉, 함수가 없으면 프로그램 실행이 불가능 하다는 것이다.

 

그렇다면 함수를 만드는 C언어 프로그램, 어떻게 써야하는지 간단하게만 알아보도록 하자

 

우리가 C언어 새파일을 만들면 나오는 첫번째 파일이다.

#include <stdio.h>

int main(void) {
    printf("Hello, world!");
    return 0;
}

여기서 우리가 알 수 있는 것은 "{ }"로 중괄호로 붙어있는 것들함수라고 하는 형태의 틀이라는 것이다.

 

 

 

 

 

함수를 시작하는 형태는 다음과 같다. 

 

 

출력형태 : 함수에서 빠져나왔을 때 가지게 될 변수 값.

함수이름 : 함수 실행을 명령할 때 호출할 이름.

입력형태 : 함수를 호출할 때 받아올 변수.

 

 

함수는 간단하게 이렇게 알아보고,

 

 

그 다음 문장을 살펴본다.

print 문

 

 

첫 시작이 printf라고 쓰여있고, 소괄호가 쳐져있는 것을 확인 할수 있고, 

마지막은 세미콜론으로 마무리 되어있다.

 

그렇다면 이것도 문자열을 출력하는 함수라는 것이다.

 

 

 

 

 

하지만 우리는 이것에 함수의 정의를 내리지 않았는데 어떻게 호출을 할 수 있는 것인가?

표준함수 라이브러리 헤더파일을 호출

 

 

그것이 우리가 새파일을 만들 때 가장 윗줄에 적힌 것 바로 표준함수라는 것이다.

 

우리가 만들지 않아도 기본적으로 만들어져있는 함수를 가르켜 표준함수라고 하고,

이것들의 집합을 표준 함수라이브러리라고 한다.

 

여기서 stdio.h는 

Standard Input/Output library (표준입출력 라이브러리)의 약자로 기본적으로 우리가 쓰는 함수들에 있어서 꼭 필요하다고 할 수 있다.

 

그렇기에 우리는 이 헤더 파일이 없이는 printf문도 쓸 수 없다는 의미기도하다.

 

 

 

이 main함수의 마지막

바로 함수의 종료를 의미하는 문장이다.

 

이 문장의 retern은 두가지의 의미를 가지고 있는데,

함수를 호출한 영역으로 전달

실행 하고 있는 함수의 종료를 의미한다.

 

값을 전달하는 의미라면, 앞서 언급했던 출력형태(현재 int)를 다양한 데이터 타입(int,float,string,char 등)으로 변경하여

반환값을 용도에 맞게 전달하면 된다.

 

그렇기에 우리가 선언한 int 메인함수는 숫자를 써야한다는 사실이다.

그렇기에 int의 값을 초과하지 않는 반환값을 넣고 실행하여도 프로그램을 마칠 수있다.

 

반응형

'코딩 > C' 카테고리의 다른 글

printf 출력문 기본이해 ( 데이터 타입에 따른 서식문자)  (0) 2022.10.13
C언어 프로그램 실행과정  (1) 2022.09.14
C언어란?  (1) 2022.09.14
C언어 - 변수란 무엇인가?  (0) 2020.05.16
C언어란 무엇인가?  (0) 2020.05.13