함수란?
일정한 기능을 수행하는 코드 단위를 의미한다.
큰 프로그램일스록 함수를 많이 사용하지만, 간단한 프로그램은 main 함수 하나만으로 만들기도 한다.
간단한 main 함수의 구조를 보면 다음과 같이 표현 할 수 있다.
1
2
3
4
5
6
7
8
9
|
#include <stdio.h>
int main(void){
10+20//10 과 20 더하기
return 0; //프로그램 종료
}
|
cs |
매우 심플한데 이 구조가 어찌보면 main 함수에 전부이며 우리가 배워 나가는 변수, 입력, 출력 , 포인터 등이 이곳에서 호출 되어 사용된다는 점이 다를 뿐 함수라는 구조에서는 이와 유사하게 진행 된다.
#include <stdio.h>
이전 CH1을 통해서 볼 수 있었던 전처리 지시자이다.
이 부분은 함수의 기능이 실행될 곳으로 여기서 원하는 기능 또는 요소를 추가하면서 원하는 기능을 만들어 나 갈 수 있다.
또한 반환형에 맞추어 return처리가 되어야 하며 c99 이후 반환형 상관 없이 돌 수 는 있지만 그래도 반환형에 맞춰서 return 뒤의 값을 넣어주는 것을 추천한다.
* 출력 함수(printf)의 사용법
화면에 데이터를 출력할 때는 printf 함수를 사용한다. print formatted 라는 뜻으로 일정한 형식에 따라 출력하는 기능 이라는 의미이다.
기본적인 형태는 다음과 같다.
printf("원하는 문자열 ");
이와 같은 문제로는
https://www.acmicpc.net/problem/2557
해당 문제를 통해서 확인 할 수 있다.
1
2
3
4
5
6
|
#include <stdio.h>
int main(){
printf("Hello World!");
return 0;
}
|
cs |
다음과 같이 출력 을 원하는 문장을 삽입 하여 위에서 원하는 출력을 만들어 낼 수 있는 것을 확인 할 수 있다.
이외에도 문자열을 제외한 실수, 정수, 문자 등의 사용자가 입력 또는 임의로 저장한 변수들을 표시 할 수 있는데 이를 정리 하면 다음과 같이 표시 할 수 있다.
실제 레퍼런스를 보면 엄청나게 다양한 표현식을 가지고 있으며 각 선언 하는 문장에 따라 표현이 가능한 숫자의 형들까지 필요에 맞춰서 사용이 가능하다.
만약 사이즈나 표현 방식이 다른 형식이 출력으로 선언 되었을 경우 다음과 같은 경우가 발생 할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include <stdio.h>
int main(void) {
unsigned int a;
a = 4294967295;
printf("a : %d\n", a);
//a = -1; ref -1 == 4294967295
printf("a : %u", a);
return 0;
}
|
cs |
다음과 같이 분명 같은 변수로써 선언한 4294967295라는 a 변수를 선언 했지만 출력 선언이 달라졌을 경우 숫자의 크기를 다르게 인식 하여 다음과 같은 결과가 발생한 것이다.
또한 문자에 대한 변수를 다음과 같이 선언 하게 되면 다음과 같은 결과 가 도출 된다.
이는 char 라는 문자 데이터 또한 컴퓨터 내에서는 ascii code 라는 하나의 정수 코드로 전달하고 인식 하고 있기 때문이다.
ascii code의 자료는 다음과 같다.
작동 원리는 추후 상수나 변수단에서 자세하게 설명 하겠다.
'프로그래밍 study > C언어' 카테고리의 다른 글
CH4 산술 관계 논리 연산자 (0) | 2022.03.24 |
---|---|
CH3-2 데이터 입력 (0) | 2022.03.22 |
CH3 변수 (0) | 2022.03.21 |
CH1 프로그램 언어 C 컴파일 과정 (0) | 2022.03.18 |