검색결과 리스트
글
2014. 03. 21 수업 및 과제
1 함수를 정의하고 선언하기
-함수의 원형 -> int 함수이름(); *세미콜론(;) 있을 때 원형 (호출 당하는 함수)
*함수의 원형이 모여 있는 곳이 <stdio.h> 즉 header 이다.
-함수의 선언 -> int 함수이름() *세미콜론(;) 없을 때에 선언
-함수의 호출시 호출 당한 함수의 메모리가 생성되고, 값을 반환한 이후 메모리는 사라짐.
-함수의 원형[int 함수이름();]는 main() 함수 이전에 위치 해야 하며
함수 선언은 어디에 있어도 관계가 없다.(컴파일 시 함수의 원형 존재 유무 파악이 필요)
A. 반환형: return 하는 값의 Type을 기술
1.1 함수의 유형
- 유형1: 전달인자(O) 반환 값(O)
- 유형2: 전달인자(O) 반환 값(X)
- 유형3: 전달인자(X) 반환 값(O)
- 유형4: 전달인자(X) 반환 값(X)
[예제]
#include <stdio.h>
int Add(int iNum1, int iNum2) //전달인자(O) 반환 값(O)
{
return iNum1+iNum2;
}
void ShowAddResult(int iNum) //전달인자(O) 반환 값(X)
{
printf("덧셈결과 출력:%d \n", iNum);
}
int ReadNum(void) //전달인자(X) 반환 값(O)
{
int iNum;
scanf("%d", &iNum);
return iNum;
}
void HowToUseThisProg(void) //전달인자(X) 반환 값(X)
{
printf("두 개의 정수를 입력하시면 덧셈결과 출력");
printf("자! 그럼 두개의 정수를 입력하세요.\n");
}
int main()
{
int iResult, iNum1, iNum2;
HowToUseThisProg();
iNum1=ReadNum();
iNum2=ReadNum();
iResult = Add(iNum1, iNum2);
ShowAddResult(iResult);
return 0;
}
[결과]
2 .h <stdio.h>
컴파일 시 전처리 에 포함
함수의 원형 -> int 함수이름(); 포함
3 .lib <*.lib>
컴파일 시 Linker에 포함
함수의 모음
4 컴파일 순서
*.c (전처리Perprocessor)-> *.i (Compiler)-> *.asm (as어셈블리)-> *.obj (Linker)-> *.exe
5 return이 지니는 두가지 의미
- 함수를 빠져나간다!
- 값을 반환한다.
- 반환형이 void로 선언된 함수에서도 다음의 형태로 return 문을 사용할 수 있음
[예]
void HowToUseThisProg(int iNum)
{
if(iNum<0)
return; // 값을 반환하지 않는 return문!
. . . .
}
6 지역 변수 선언
- {} 중 괄호 안에 지역 변수을 선언 할 수 있다.
- {} 중 괄호 안에서 만 메모리에 존재 하며, 실행이 끝나면 메모리에서 사라짐
- 지역변수는 선언된 지역 내에서만 유효
- 선언된 지역이 다르면 변수 이름이 같아도 문제되지 않음
'…™업무일지。' 카테고리의 다른 글
[smart]이재우-20140325 (0) | 2014.03.25 |
---|---|
[smart]이재우-20140324 (1) | 2014.03.24 |
[smart]이재우-20140320 (0) | 2014.03.20 |
[smart]이재우-20140319 (0) | 2014.03.19 |
[smart]이재우-20140318 (0) | 2014.03.18 |
RECENT COMMENT