728x90

 

2014.03.21 수업 ver1_0a.docx

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