[Programming Language]/[C언어]

[C언어] :: C언어 기본 구조(주석, 전처리기, 헤더파일, main 함수, 세미콜론, return)

Semincolon 2024. 1. 16. 14:34

◎ 주석

  주석이란 일종의 메모 역할을 하는 것이다. 주석을 잘 사용하면 나중에 이 코드를 다시 볼 때나 다른 사람이 코드를 봐야할 때 어떤 내용인지 한 눈에 알 수 있다. 주석은 한 줄씩 처리할 수도 있고 여러 줄씩 처리할 수도 있다. 주석의 내용은 코드 자체에 어떠한 영향도 미치지 않는다.

  1) 한 줄 주석 처리

    주석을 한 줄씩 처리하기 위해서는 '//'를 이용한다. 아래는 그 예시이다.

#include <stdio.h>
int main() {
	// Hello C World가 출력됨
	// 여러 개를 사용할 수도 있음
	printf("Hello C World!");

	return 0;
}

  2) 여러 줄 주석 처리

  주석을 여러 줄씩 처리하기 위해서는 '/*'와 '*/'를 이용한다. 아래는 그 예시이다.

#include <stdio.h>
int main() {
	/* Hello C World가 출력됨
	   이 안에 여러 내용의 주석을 달 수 있음
           상황에 맞게 한줄, 또는 여러줄의 주석을 사용하면 됨
	*/
	printf("Hello C World!");

	return 0;
}

 

 

◎ 전처리기(#)

  전처리기란 특수 문자 '#'을 말한다. 이것은 말 그대로 컴파일러가 컴파일을 수행하기 전에 미리 처리하라는 뜻을 가진다. 이는 파일의 최상단에 위치하며 헤더파일이나 상수 등에 사용된다.

#include <stdio.h> // 여기서 '#'이 전처리기에 해당함

 

 

◎ 헤더파일

  헤더 파일이란 확장자가 '.h'인 파일을 말한다. 예를 들어 위 코드에서 'stdio.h'는 Standard Input Output(표준 입출력)으로써 C언어의 표준 라이브러리 함수들의 동작이 따로 정의된 파일이다. 'printf()' 함수나 'scanf()' 함수의 사용을 위해 반드시 포함시켜야 하는 헤더 파일이다. 헤더 파일은 기본적으로 정의된 '시스템 헤더 파일'과 사용자가 정의한 '사용자 헤더 파일'로 나뉜다. 시스템 헤더 파일은 포함시킬 때 "<>"기호를 사용하며 사용자 헤더 파일은 포함시킬 때 ""(큰따옴표) 기호를 사용한다.

#include <stdio.h>  // 시스템 헤더 파일은 <> 기호 사용
#include "myheader.h" // 사용자 헤더 파일은 "" 기호 사용

 

 

◎ main 함수

  main 함수는 C언어에서 프로그램이 실행될 때 맨 처음으로 호출되었다가 맨 나중에 종료되는 함수이다. C언어에서 main 함수 없이 실행되는 프로그램은 없다.

int main(void) {
	// 코드 내용
}

  여기서 int는 main 함수의 출력 형태를, void는 main 함수의 입력 형태를 나타낸다. main 함수는 중괄호로 시작하여 중괄호로 끝나고 그 안에 코드의 내용을 적는다.

 

 

◎ 세미콜론 (;)

  C언어에서 세미콜론은 기본 중에 기본이라고 할 수 있다. 이는 우리가 글을 쓸 때 사용하는 마침표와 같다고 보면 된다. 함수 내부(중괄호 안)에 작성되는 모든 문장의 끝에 세미콜론을 사용해야 한다. 만약 세미콜론을 사용하지 않을 경우 오류가 발생한다.

#include <stdio.h>
int main() {
    printf("여기서는 오류가 발생하지 않습니다. \n");
    printf("여기서는 오류가 발생합니다. \n")
}

 

 

◎ return

  return은 반환과 종료의 의미를 갖는다. 함수에서 반환해야 할 값이 존재할 경우 return에 사용하면 되고 반환할 값이 없다면 그냥 return만 사용하면 된다. main 함수는 종료될 때 운영체제에게 0을 반환하는데 운영체제는 반환값 0을 통해 프로그램이 정상적으로 종료되었는지 아닌지를 판단하게 된다.

// case 1)
#include <stdio.h>
int main() {
    int a = 3;
    printf("a를 반환합니다. \n");
    
    return a;
}

//----------------------//
// case 2)
#include <stdio.h>
int main() {
    printf("아무것도 반환하지 않습니다. \n");
    
    return 0;
    // 또는 return;
}