언어/C

[C언어] 기본 예제 살펴보기

SOo • 2022. 12. 13. 19:57

먼저 C언어의 기본 예제를 보며 한줄한줄 해석해보도록 하겠다. 

#include <stdio.h> /*선행처리기 명령 (preprocessor 지시자)*/ 
void printNumber(int); /* printNumber() 함수의 선언부, void 무지형 (값 x) */
int main() /* main함수는 전달인자가 없다, return 값이 int 형 값이다 */
{
	int num; /* num의 변수 선언 */
	num = 1; /* 생성된 변수 num에 숫자상수 1을 대입 */
	printNumber(num);
	num = 3;
	printNumber(num);
	return 0; /*생략 불가능*/ 
}
void printNumber(int n)
{
	printf("정수값은 %d입니다. \n", n); /* 선행처러기에 코드가 있으니 정의부 안보임 */
	return; /* 생략 가능 (함수 수행을 끝내고 리턴할때 값 없이 제어만 돌아감)*/
}
	printf("정수값은 %d입니다. \n", n); // 선행처러기에 코드가 있으니 정의부 안보임
	return; // 생략 가능 (함수 수행을 끝내고 리턴할때 값 없이 제어만 돌아감
}

주석 (comment) 

  • /* ~~ */ 로 기재 
  • 누가 작성했는지, 기능, 개발 연월일 등을 작성할 때 주로 사용
  • 실행가능한 code를 일시적으로 실행되지 않게 막아둘 때 이용

#include <stdio.h> 

  • #include는 선행처리기 명령(preprocessor 지시자) 이다

✔ 이는 preprocessor(전처리기) 에 의해 처리되며 " stdio.h " 라는 헤더파일을 현재 위치에 포함시킨다

✔ 전처리기 명령어의 특징 : #으로 시작 

✔ 전처리에 의해 처리가 끝나고 나면 stdio.h의 내용 (200 여 줄)이 코드에 붙게 된다.

 

Q. #stdio.h를 사용하는 이유 ? 

A. 입출력 함수 , printf()를 사용하기 위해서다. printf() 함수의 선언부가 헤더파일 안에 들어가 있기 때문이다.

(1. 함수의 선언부 2. 함수 호출부 3. 함수 정의부 가 갖춰져야 함수를 사용할 수 있다.) 

 

void printNumber(int);
  • printNumber () 함수의 선언부이다.
  • int: 전달인자 void: 무지형 (값이 없다) 라고 해석 
  • 즉, printNumber은 전달인자는 정수형 (int)이지만 return 값의 type이 void 이므로 return 값이 없다. 

 

	int num; /* num의 변수 선언 */
	num = 1; /* 생성된 변수 num에 숫자상수 1을 대입 */
	printNumber(num);
	num = 3;
	printNumber(num);
	return 0; /*생략 불가능*/
  • main 함수는 전체 함수에서 가장 중심이 되는 함수이다. 
  • main 함수는 전달인자가 없다
  • main 함수 앞은 int 즉, return 값이 int 형 값이다.
  • return 0; 은 정수형 값 (int) 를 리턴한다는 것을 의미
  • main 함수의 리턴 값으로 실행이 성공적이었는지, 이상이 있는지 알 수 있다. 
    return 값 0: 정상종료 또는 0 이외의 값 : 비정상 종료

int num;

  • 변수 선언 
  • num이라는 이름의 int(정수형) 변수를 생성 (RAM에 할당)

int num =1;

  • 생성된 변수 num에 숫자상수 1을 대입한다
  • int num = 1; 의 형태처럼 한 줄로 쓸 수 있다. ( 쓰레기 값을 만들지 않기 위해 더 자주 사용된다) 
void main()
{
}
return ; //  비표준 코드

많이 사용하는 void main() 은 비표준 코드 이므로 int main()을 이용해준다. 

 

void printNumber(int n)
{
	printf("정수값은 %d입니다. \n", n); /* 선행처러기에 코드가 있으니 정의부 안보임 */
	return; /* 생략 가능 (함수 수행을 끝내고 리턴할때 값 없이 제어만 돌아감)*/
}
	printf("정수값은 %d입니다. \n", n); // 선행처러기에 코드가 있으니 정의부 안보임
	return; // 생략 가능 (함수 수행을 끝내고 리턴할때 값 없이 제어만 돌아감
}

printf() 함수

  • printf()는 표준 출력함수로서 괄호 안에 지정되어있는 출력형식대로 화면에 출력한다.
  • %d : 형식 변환 문자, 출력 대상을 자신의 형식대로 변환 출력해줌
    cf) %d : 10진수 %o: 8진수 %u : 부호없는 10진수