프로그래밍 언어/C언어

C언어 함수란?

원원 2019. 5. 29. 18:55

안녕하세요 오늘은 C언어 함수를 알아보겠습니다.

일단 함수는 매우 쉽고 편리합니다.


솔직히 함수를 사용하지 않고 코드를 작성 할 수 있습니다.

예를들어 X= A+B를 구하는 코드를 작성해보겠습니다


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
int main()
{
    int x;
    
    x=1+2;
    printf("두 수를 더한 값 : %d \n",x);
    
    x=10+20;
    printf("두 수를 더한 값 : %d \n",x);
    
    x=100+200;
    printf("두 수를 더한 값 : %d \n",x);
}
 


6번~7번줄, 9번~10번줄, 12~13번줄을 보면 같은 코드인데 값만 다릅니다.

이렇게 반복적인 행동을 함수로 만들어 놓으면 편합니다


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
 
void add(int a,int b)
{
    int x;
    x=a+b;
    printf("두 수를 더한 값 : %d \n",x);
}
 
int main()
{
    add(1,2);
    add(10,20);
    add(100,200);
}
 


4번~9번째 줄을 보면 함수를 정의하고 13번~15번째 줄에서 호출합니다.


함수를 만드는 규칙이 있습니다

Colored By Color Scripter

1
2
3
4
5
6
7
8
9
반환형 함수명(호출할 때 받을 변수)
 
{
 
    내용
 
     return 반환하는 변수; (반환형이 void면 생략가능)
 
}


반환형에는 함수가 끝나고 return을 통해서 반환하는 자료형을 적으면 됩니다.

함수명에는 호출할 이름을 적으면 됩니다.

호출할 때 받을 변수(매개변수)를 적으면 됩니다


예를 들어보겠습니다

1
2
3
4
int add(int a, int b)
{
    return a+b;
}

반환형은 int이고 함수명은 add이고 매개변수는 int형 변수 a와 b입니다



1
2
3
4
5
void infor(int a, char b)
{
    printf("받은 char형 값: %c",b);
    printf("받은 int형 값: %d",a);
}

반환형은 void형이라서 return이 없고 함수명은 infor이고 매개변수로 int형 a, char형 b를 받습니다


사실 printf, scanf도 함수입니다

헤더파일 #include<stdio.h>에 정의되어 있습니다

근데 printf함수의 내용을 몰라도 사용이 가능합니다(함수 장점 2)



함수 장점

1. 반복적인 코딩을 할 때 편하다

2. 한번 함수를 만들어 놓으면 나중에 자세한 내용을 몰라도 사용이 가능하다

3. 다른사람과 같이 작업할 때 편하다


'프로그래밍 언어 > C언어' 카테고리의 다른 글

재귀함수란 무엇인가  (0) 2019.06.09
C언어의 메모리 구조  (0) 2019.06.02
C언어 역슬래시(\)란?  (0) 2019.05.20
C언어 NULL포인터란?  (0) 2019.04.01
포인터 사용 예시  (0) 2018.11.21