5.함수 -함수란? : 여러 번 반복되는 중복된 프로그래밍을 최소화 하는 것 함수의 정의 : 만들어진 함수, 실행이 가능한 함수를 일컬음 함수의 호출 : 함수의 실행을 명령하는 행위 인자의 전달 : 함수의 실행을 명령할 때 전달하는 입력 값 -종류 |
>일반 +형식 ex) int main(void) { 함수의 몸체 } int : 출력의 형태 main : 함수의 이름 void : 입력의 형태 즉, 출력의 형태가 int이고 입력의 형태가 void인 main이라는 이름의 함수
ex) #include<stdio.h>
int Large_Num(int a, int b); // 함수 원형 선언
int main(void) { printf("3과 4중에서 큰 수는 %d 이다. \n",Large_Num(3,4)); // 함수 호출 printf("7과 2중에서 큰 수는 %d 이다. \n",Large_Num(7,2));
return 0; }
int Large_Num(int a, int b) // 함수 정의 { if(a>b) return a; else return b; } >재귀 함수 :함수 내에서 자기 자신을 다시 호출하는 형태의 함수 호출 ex) #include<stdio.h>
void Recursive(int n) { printf("Recursive Call! \n"); if(n == 1) // 재귀함수 탈출 조건 return ; Recursive(n-1); // n-1을 전달, n의 값을 하나 줄임 }
int main(void) { int a = 2; Recursive(a); return 0; }
+변수의 범위 >지역 변수 :중괄호 내에 선언된 변수 함수가 호출될 때 메모리상에 올라갔다가, 함수가 종료되면 메모리상에서 사라진다 외부에 선언된 동일한 이름의 변수를 가릴 수 있다
>전역 변수 :프로그램 어디에서나 접근이 가능한 변수 메모리 공간을 할당받고 초기화가 이뤄지면, 프로그램이 종료될 때 까지 소멸되지도 않고 초기화도 두 번다시 일어나지 않는다.
>static 변수 :전역 변수처럼 프로그램이 종료될 때까지 사라지지 않는다 함수내에서 선언하며, 메모리 할당과 함께 자동 소멸된다 함수가 호출될 때마다 자동 초기화되지 않는다.(메모리 할당 될 때 1회만 초기화 된다)
ex) #include<stdio.h>
void fct(void);
int main(void) { itn i; for(i = 0; i<5; i++) fct();
return 0; }
void fct(void) { static int val = 0; val++; printf("%d",val); }
실행 결과 : 1 2 3 4 5 <참조 : C 열혈강의> |
'삽질의 현장 > - C' 카테고리의 다른 글
[Surro] :: C언어 이론 07. 포인터 (0) | 2013.10.06 |
---|---|
[Surro] :: C언어 이론 06. 배열 (0) | 2013.10.06 |
[Surro] :: C언어 이론 04. 조건문 (0) | 2013.10.06 |
[Surro] :: C언어 이론 03. 반복문 (0) | 2013.10.06 |
[Surro] :: C언어 이론 01-02. 데이터 표현방식 및 자료형 기본 (0) | 2013.10.06 |