안녕하세요 오늘은 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번째 줄에서 호출합니다.
함수를 만드는 규칙이 있습니다
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 |