71 – 문자 변환 함수

표준 라이브러리에서는 영문 소문자를 대문자로 변환하고 대문자를 소문자로 변환하는 함수를 제공한다. 키보드 입력으로 저장된 내용 중 소문자는 대문자로 바꾸고 나머지는 그대로 출력하는 예시를 작성하였는데, 예시를 확인해보자.

20170422_234529

이 예시 프로그램의 코드를 보면 입력받은 문자가 소문자인지 확인한 후 이를 대문자로 바꾸는 절차를 보면 되게 복잡하다. 이 절차를 toupper 함수를 이용하면 간단하게 처리할 수 있다.

ch = toupper(ch);

이렇게 대문자를 소문자로 바꾸고 소문자를 대문자로 바꾸는 함수는 다음과 같다.

  • 함수이름 | 기능
  • toupper | 저장된 문자가 소문자면 대문자로 변환한다.
  • tolower | 저장된 문자가 대문자면 소문자로 변환한다.

이 함수를 써서 바꾼 예제는 아래와 같다. 대소문자 확인도 이전 글에서 봤던 함수를 이용하였다.

52 – 변수 기억 클래스(자동 변수)

자동 변수는 함수 안에서 정의되는 것으로, 그 함수 안에서만 사용할 수 있는 지역 변수다. 함수가 실행되기 시작하면 메모리에 변수가 생성되고 함수 실행이 종료되면 사라진다. 그러므로 지금까지 살펴본 예제에서 함수 내에 선언한 변수는 모두 자동 변수이다.

자동 변수는 다음과 같이 기억 클래스 자리에 ‘auto’로 선언하면 되는데, 일반적으로는 auto를 생략해서 쓴다.

void func(void)
{
auto int i;
}

49 – 함수 호출

함수는 반드시 호출되어야 실행되는데, 함수 호출은 함수 정의 부분이 실행되도록 하는 일종의 명령어로 매개변수를 통해 값을 주고받고 반환하는 값을 전달받는다. 호출 방법은 다음과 같다.

함수이름 (매개변수들);

함수를 호출할 때는 함수 이름을 사용하고, return형은 기재하지 않는다. 그리고 소괄호 안에 함수가 실제로 존재하는 곳으로 전달하고자 하는 값(변수, 상수)를 기재하는데, 이는 없을 수도 있고 여러 개일 수도 있다. 함수 호출에 대해서는 다양한 예가 있다.

func();
func(2, 5);
i = func(2, 5);
printf(“result: %d\n”, func(2,5));

함수는 여러 번 호출할 수 있는데, 반복문을 통해서 호출을 여러 번 할 수도 있고, 필요할 때마다 호출해서 사용하면 된다.