개론
-
[C Language] 26. 함수 - 재귀함수(Recursive) - C 언어CSE/C Language 2015. 6. 13. 10:23
1. 재귀함수의 사용방법 아래 예제를 통해 재귀함수를 사용한 예제 1부터 100까지 더하는 예제를 보자. 123456789101112131415161718192021222324252627/* * recur1.c * * Created on: 2015. 5. 17. * Author: root */ #include int sum(int); int main(void) { int result = 0; result = sum(100); printf("Result = %d\n", result); return 0;} int sum(int x) { if (x == 0) return x; else return x + sum(x - 1);}Colored by Color Scriptercs 2. 재귀함수의 문제점 - 재귀함수..
-
[C Language] 25. 함수 - 리턴 값 여러 개 받기 - C 언어CSE/C Language 2015. 6. 13. 10:22
1. 전역변수를 이용한 리턴 값 받기 가장 간단하지만 가장 위험한 전역변수를 이용한 리턴 값 받기를 살펴보자. 1234567891011121314151617181920212223242526272829303132333435/* * global.c * * Created on: 2015. 5. 17. * Author: root */ #include int add, subtract, multiply, divide; void calculate(int, int); int main(void) { int x = 7, y = 5; calculate(x, y); printf("%d + %d = %d\n", x, y, add); printf("%d - %d = %d\n", x, y, subtract); printf("%d ..
-
[C Language] 24. 함수 - 참조에 의한 호출(Call By Reference) - C 언어CSE/C Language 2015. 6. 13. 10:21
값에 의한 호출이 '복사'라는 중요한 개념을 가지고 있다면, 참조에 의한 호출(Call By Reference)는 '참조'라는 중요한 개념을 가지고 있다. 아래 예제를 통해 이전 장에서 값을 바꾸는 예제를 참조를 통한 예제로 확인하자. 123456789101112131415161718192021222324252627282930313233343536373839/* * rSwap.c * * Created on: 2015. 5. 17. * Author: root */ #include void swap(int *, int *); int main(void) { int x = 7, y = 5; puts("Inside main() function"); printf("1. x = %d, y = %d\n", x, y);..
-
[C Language] 23. 함수 - 값에 의한 호출(Call By Value) - C 언어CSE/C Language 2015. 6. 13. 10:21
값에 의한 호출을 이야기할 때 빠져서는 안 되는 개념이 있다. 바로 매개변수이다. 매개변수는 형식 매개변수와 실 매개변수로 나뉘는데, 호출하는 쪽의 인자를 실 매개변수라 하고, 호출 당하는 쪽의 인자를 형식 매개변수라 한다. 아래 예제를 통해 살펴보자. 숫자를 입력하면 입력한 숫자 값까지 1부터 더하는 예제이다. 아래 예제에서 total = sum(num)에서 num은 실 매개변수이다. 이 값이 아래의 sum(int x) 함수의 x에 복사되어 전달된다. 12345678910111213141516171819202122232425262728293031323334353637/* * sumuntil.c * * Created on: 2015. 5. 17. * Author: root */ #include int s..
-
[C Language] 22. 함수(function)의 기본 - C 언어CSE/C Language 2015. 6. 13. 10:20
1. 함수의 구조 함수의 본체는 아래와 같은 구조로 되어 있다. return_type function_name(args) {선언자; 수행문;수행문;... } return_type: function_name이라는 함수가 결과 값을 구한 후, 호출한 함수에게 넘겨주는 값에 대한 자료 형(data Type)을 뜻한다. function_name: 말 그대로 함수의 이름이다. args: function_name()을 호출할 때 넘겨주는 인자(arguments)를 지칭한다. 다음과 같은 형태로 함수를 사용할 수 있다. 1. int swap(int x, int y) 2. char *add(char *one, char *two) 3. int add(int x, int y) 4. void gugudan(int dan);..
-
[C Language] 21. 함수(function)란? - C 언어CSE/C Language 2015. 6. 13. 10:18
1. 함수 개론 - 수학에서 함수는 y = f(x)로 표시된다. 이것은 x의 값을 함수 f()에 적용하면 y의 값을 돌려준다는 의미이다. - C에서도 같은 원리이다. 함수에 x의 값에 대응되는 인자 값을 넘겨주면 결과를 리턴한다. - 수학 함수와 달리 인자를 사용하지 않거나, 리턴 값을 받지 않는 유연성을 C에서 가지고 있다. 2. 함수의 특징 - C는 함수로 시작해서 함수로 끝난다고 할 정도로 함수를 많이 사용한다. '모듈화를 가능하게 해준다' - 모듈화를 하면 거대한 프로그램도 분업화가 가능하여 각각의 기능들을 따로 구현하고 이를 하나로 합쳐서 완성할 수 있으며, 아무리 복잡한 프로그램도 완벽한 모듈화를 통해서 함수 내부의 모든 동작을 알지 못해도 사용방법만 알고 있으면 별 문제 없이 사용할 수 있다..