3. 처음 작성하는 C 언어 프로그램
개발 환경이 준비가 되었다면, C 언어로 처음 작성해보는 Hello World 프로그램을 만들고 출력해보겠습니다. 이 강의가 프로그래밍 학습에 첫 번째 강의라면, 인생에 있어서 첫 번째 프로그램을 만들어 보는 시간이 될 것입니다.
> // Hello World: 전통적으로 "Hello, World!"를 화면에 출력하는 프로그램 이름의 대명사
다음 샘플 코드는 C 언어를 개발한 데니스 리치가 직접 저술한 책에서 첫 번째로 소개한 프로그램 소스 코드입니다. 화면에 hello, world를 출력해서 Hello World 프로그램이라고 합니다.
#include <stdio.h>
main()
{
printf("hello, world\n");
}
Hello World 프로그램
Hello World
프로그램은 C 언어를 만든 데니스 리치
가 C 언어로 처음 화면에 출력하는 프로그램에서 화면에 "Hello World"를 찍는 것에서부터 유래가 되었습니다.
C 언어에서의 Hello World
프로그램은 다음 미리보기 샘플 코드와 같습니다.
> printf("Hello, World!");
Hello, World!
그리고 잠시 후에 자세히 살펴보겠지만, 미리 보기로 살펴보는 최소한의 C 언어 프로그램 코드 모양은 다음 샘플 코드와 같습니다.
코드: hello_world.c
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
return 0;
}
사실, 가장 작은 코드의 C 언어 프로그램은 다음과 같습니다. 물론, 아무런 기능을 하지 않습니다.
int main(void)
{
return 0;
}
3.2. [실습] 새 프로젝트 만들고 Hello World 출력하기
3.2.1. 소개
Visual Studio를 사용하여 프로젝트를 만들고 화면에 "Hello, World!" 문자열을 출력하는 간단한 프로그램을 만들어 보겠습니다. 이번 실습의 내용은 이 강의 전체를 통해서 수백 번 진행하는 형태이니 여러 번 반복해서 연습해보세요.
3.2.2. 따라하기 1: 새 프로젝트 만들기
(1) Windows 운영체제에서 <시작
> 모든 앱
> 메뉴에서 Visual Studio 2022을 찾아서 실행합니다. 참고로 C 언어는 크로스 플랫폼을 지원하지만 이 강의는 Windows 운영체제를 기반으로 설명합니다.
(2) Visual Studio 2022를 실행하면 다음과 같은 화면이 나타납니다. 오른쪽 하단의 [코드를 사용하지 않고 계속]
링크 버튼을 클릭하여 Visual Studio 2022를 실행합니다.
[그림] Visual Studio 2022 시작 화면
(3) 다음 그림과 같이 <파일
> 새로 만들기
> 프로젝트
>를 선택합니다.
[그림] Visual Studio에서 새 프로젝트 만들기
(4) 새 프로젝트 선택 화면에서 다음 그림과 같이 프로젝트 템플릿에서 <빈 프로젝트
>를 선택하고 [다음]
버튼을 클릭합니다.
[그림] C++ 빈 프로젝트 템플릿 선택
C 언어 프로그램을 작성하기 위한 프로젝트 템플릿은 여러 종류가 있습니다. 하지만, 이 강의에서는 빈 프로젝트만 사용하겠습니다.
(5) 프로젝트 이름과 위치를 설정한 후 [확인] 버튼을 클릭해서 프로젝트를 생성합니다.
[그림] 콘솔 응용 프로그램 선택 및 프로젝트 이름 지정
이 강의에서는 다음과 같이 설정하였습니다.
- 이름: 프로젝트 이름입니다. HelloWorld라고 입력합니다.
- 위치: 솔루션과 프로젝트를 생성할 디렉터리입니다. 기본 위치를 선택하거나 원하는 위치를 지정합니다.
- 솔루션 이름: 솔루션 이름입니다. 프로젝트 이름 설정할 때 자동으로 생성되는 값인 HelloWorld를 사용합니다.
- 솔루션 및 프로젝트를 같은 디렉터리에 배치: 솔루션과 프로젝트 파일을 하나의 폴더에 넣을 때 사용합니다.
TIP
C 언어로 진행하는 첫 번째 프로젝트의 이름을 HelloWorld
로 설정하기로 했습니다. 비록 hello_world
형태의 명명이 일반적으로 널리 사용되기는 하지만, 프로젝트 이름은 프로그램의 식별자로서 어떠한 이름도 가능합니다. 따라서, 개발자의 선호나 프로젝트의 성격에 맞게 자유롭게 이름을 지정할 수 있습니다.
(6) Visual Studio 2022의 솔루션 탐색기에 HelloWorld 이름으로 프로젝트가 생성됩니다. 솔루션 탐색기가 보이지 않으면 Visual Studio의 메뉴인 <보기> 메뉴에서 <솔루션 탐색기>를 선택하면 됩니다. 솔루션 탐색기는 Ctrl + ; 단축키로 편리하게 열 수도 있습니다.
[그림] 솔루션 탐색기에 표시되는 HelloWorld 프로젝트
3.2.2.1. 참고: 프로젝트와 솔루션
C 언어로 프로그램을 작성할 때 나오는 프로젝트와 솔루션에 대해 간단히 알아보겠습니다.
프로젝트(Project): 하나의 프로그램을 이루는 가장 작은 단위가 되는 프로그램을 말합니다. Visual Studio에서 프로젝트는 확장자가 vcxproj(C 언어 프로젝트를 의미)인 파일로 관련된 여러 파일을 하나의 이름으로 묶는 역할을 합니다.
솔루션(Solution): 프로젝트가 하나 이상 모여서 만들어진 프로그램을 말하며 Visual Studio에서 솔루션은 하나 이상의 프로젝트를 묶어서 하나의 단위로 표현할 때 사용됩니다. Visual Studio에서 솔루션은 확장자가 sln(솔루션의 약자)인 파일로 하나 이상의 프로젝트를 묶어서 관리할 때 사용됩니다.
다음 그림과 같이 솔루션은 하나 이상의 프로젝트로 이루어지고 프로젝트는 하나 이상의 C 언어 소스 파일로 구성됩니다. 프로젝트는 Visual Studio의 솔루션 탐색기(Solution Explorer)에서 표시됩니다.
[그림] 프로젝트와 솔루션
3.2.3. 따라하기 2: Hello World 출력하기
(1) Visual Studio의 솔루션 탐색기에서 소스 파일에 마우스 오른쪽 버튼으로 클릭한 후 [추가]
– [새 항목]
메뉴를 선택합니다.
[그림] 새 항목 추가
(2) 새 항목 추가 창에서 [C++ 파일(.cpp)]
을 선택 후 파일 이름 입력란에 hello_world.c 이름을 입력합니다. 여기서 주의할 점은 반드시 확장자를 c
로 입력해야 합니다. 그렇지 않으면 기본 확장자인 cpp
로 만들어집니다.
[그림] C 언어 파일 생성
3.2.3.1. 참고: 소스 코드 컴파일
C 언어의 소스 코드는 hello_world.c처럼 확장자가 c입니다. 이러한 소스 코드는 컴파일 과정을 거쳐서 실행 가능한 파일이 만들어집니다. Windows 환경에서는 exe 파일이 생성됩니다.
[그림] 소스 코드 컴파일
(3) 본격적으로 학습하기 전에 간단히 "Hello, World!"를 출력해볼까요? 메인 편집 영역에 있는 코드를 다음 그림처럼 변경합니다. 그냥 출력만 해볼 것이므로 자세한 내용은 몰라도 됩니다. 단 C 언어는 대소문자를 구분하는 언어이기에 반드시 대소문자를 구분하면서 소스 코드를 작성해야 한다는 점만 유의하세요! 다음 코드를 입력하고 실행하면 화면에 "Hello, World!" 문자열이 출력되고 '\n' 코드에 의해서 줄바꿈이 된 후 프로그램을 종료합니다.
코드: hello_world.c
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
return 0;
}
결과:
Hello, World!
코드를 입력하면 다음 그림과 같은 형태가 됩니다.
[그림] 코드 작성
3.2.3.2. 참고: 코드를 입력할 때 팝업창이 떠요!
Visual Studio로 C 언어 코드를 작성할 때 printf() 등을 입력할 때 팝업 창이 뜹니다. 이러한 팝업 창은 인텔리센스(IntelliSense) 기능이라고 합니다. 이러한 기능은 프로그램을 손쉽게 작성할 수 있도록 명령어에 대한 가이드를 제공해서, 이에 익숙해지면 좀 더 빠르고 정확하게 코드를 작성할 수 있습니다.
[그림] 인텔리센스(IntelliSense)와 인텔리코드(IntelliCode)
추가적으로 인텔리코드는 별표 표시로 코드 작성할 때 가장 많은 개발자들이 사용하는 명령어를 가이드로 제공해 줍니다.
(4) 소스 코드 입력이 끝났으므로 실행해 봅시다. 간단히 생성한 프로그램을 실행하기 위해서는 Visual Studio 메뉴의 <디버그
> 디버그하지 않고 시작
>을 선택합니다. 단축키인 Ctrl + F5를 눌러도 됩니다.
[그림] 프로그램 실행을 위한 디버그하지 않고 시작 메뉴
(5) 프로그램을 실행하면 간단한 빌드(컴파일) 과정을 거친 후 다음 그림과 같이 콘솔 창에 "Hello, World!"가 텍스트로 출력됩니다.
[그림] 콘솔 화면
(6) 지금까지 작성한 HelloWorld 프로그램의 전체 화면입니다.
[그림] Visual Studio로 Hello World 프로그램 만들기
앞으로 진행되는 내용 중 C 언어 프로젝트를 어떤 형태로 만들었는지에 따라서 출력 화면이 다를 수 있지만, 박용준 강사의 이 강의에서는 소스 코드를 작성 후 실행된 실행 결과를 다음과 같이 텍스트로만 표현하도록 하겠습니다.
Hello, World!
따라하기 3: 터미널 환경에서 프로그램 실행하기
(1) 프로그램이 정상적으로 실행되었다면 Visual Studio에서 HelloWorld 솔루션을 마우스 오른쪽 버튼으로 클릭하여 <파일 탐색기에서 폴더 열기>를 선택하면 현재 프로젝트가 어디에 만들어졌는지 파일 탐색기에서 확인할 수 있습니다.
[그림] 파일 탐색기에서 보기
(2) 파일 탐색기에서 솔루션 파일 및 프로젝트 관련 폴더와 이번 실습에서 만든 hello_world.c 파일을 확인할 수 있습니다.
[그림] 파일 탐색기에서 프로젝트 폴더 및 소스 파일들 확인하기
(3) x64 폴더의 Debug 폴더로 이동하면 HelloWorld.exe 파일이 생성됨을 알 수 있습니다.
[그림] exe 파일 확인하기
프로젝트를 실행(빌드)할 때 Visual Studio 메뉴에서 Debug 또는 Release를 선택하거나 x64 또는 x86을 선택할 때마다 exe 파일의 생성 위치가 다릅니다.
[그림] 프로젝트 빌드 구성 메뉴
(4) 생성된 exe 파일을 터미널(명령 프롬프트)에서 실행할 때에는 exe 파일이 있는 폴더에 Shift 버튼을 누르고 마우스 오른쪽 버튼 클릭하면 나타나는 [여기서 PowerShell 창 열기] 또는 [Open in Windows Terminal] 등의 메뉴로 터미널로 실행할 수 있습니다.
[그림] 여기서 명령 창 열기 메뉴
(5) exe 파일이 위치하는 터미널에서 다음과 같이 HelloWorld.exe 파일을 실행하면 “Hello, World!” 문자열이 출력됩니다.
[그림] 터미널에서 exe 파일 실행하기
3.2.4. 마무리
지금까지 처음으로 C 언어 프로그램을 작성해 보았습니다. 이번 실습에서 진행한 단계는 이 강의의 모든 소스 코드 작성에 동일한 패턴으로 진행할 것입니다.
3.3. 프로그래밍 모토(Motto)
프로그래밍 실력은 수많은 연습이 필요합니다. 이 강의의 프로그래밍 좌우명은 다음과 같습니다. 수많은 프로젝트를 만들고 소스를 타이핑하고 실행해보고 오류를 잡아보면서 각각의 내용을 이해하려고 노력을 해보세요.
- "타이핑 및 결과 확인 그리고 내용을 이해하려고 노력"
앞으로 진행되는 모든 예제 및 실습에서 hello_world.c와 같이 C 언어 파일명과 소스 코드가 제공되면 이번 Hello World 프로그램 실습과 같이 진행하면 됩니다.
3.4. C 언어 프로그램 작성 단계
C 언어 프로그램을 작성하는 단계는 일반적으로 다음 절차를 따릅니다.
[그림] 프로그램 작성 및 실행 단계
3.5. 빌드(Build)와 다시 빌드(ReBuild) 그리고 정리(Clean)
Visual Studio에서 솔루션을 빌드할 때 선택 메뉴는 빌드(Build)와 다시 빌드(ReBuild) 그리고 정리(Clean) 등이 있습니다. 빌드는 처음 빌드 이후로는 변경된 내용에 대해서만 빌드를 진행하고, 다시 빌드는 기존 빌드 내용을 모드 제거한 후 다시 새롭게 전체를 빌드합니다. 정리는 빌드된 내용을 지우는 역할을 합니다. 다시 빌드는 정리 후 빌드와 동일한 역할을 합니다.
3.6. C 언어 학습을 위한 Visual Studio 주요 키보드 단축키
C 언어 학습을 위한 Visual Studio의 주요 키보드 단축키를 소개합니다. 많은 소프트웨어는 키보드 단축키를 제공해서 편리함을 제공합니다. 마찬가지로 Visual Studio도 굉장히 많은 단축키를 제공합니다. Visual Studio에 대한 필수 키보드 단축키는 다음과 같습니다. 물론 훨씬 더 많은 단축키가 있지만, 시작 단계에서는 아래 정도만 알아도 무관합니다. 일단 아래 리스트를 한번 정도 읽어본 후 넘어 가겠습니다.
- [F5] - 디버깅 시작
- [Ctrl + F5] - 디버그하지 않고 시작
- [Ctrl + Shift + F] - 파일 찾기
- [Ctrl + S] - 현재 파일 저장하기
- [Ctrl + A] - 전체 선택
- [Ctrl + C] - 복사(Copy)
- [Ctrl + V] - 붙여넣기(Paste)
- [Ctrl + ;] - 솔루션 탐색기 열기
- [Ctrl + ,] – 특정 파일 또는 클래스 찾기
3.7. C 언어의 기본 코드 구조
Hello World를 출력해 봤습니다. 본격적으로 C 언어 코드의 구조를 살펴봅시다. C 언어의 구조는 프로젝트, *.c 파일, main() 함수로 구성됩니다. C 언어는 대부분 다음과 같은 구조로부터 시작됩니다.
[그림] C 언어의 기본 코드 구조
다음 코드는 가장 최소한의 코드로 이루어진 C 언어의 기본 코드입니다. 아래 코드도 HelloWorld 프로젝트를 만들고 실행해 본 것처럼 MainSimple 이름의 프로젝트를 만들고 다음과 같이 코드를 작성 후 실행해보면 됩니다.
코드: main_simple.c - 1단계
#include <stdio.h>
main()
{
printf("Hello, World!\n");
}
결과:
Hello, World!
C 언어의 기본 코드는 #include 지시문과 main() 함수가 오고 중괄호 시작과 끝을 사용하여 프로그램의 범위를 그룹 짓는 형태를 가집니다. 다음 내용은 간단히 읽고 넘어가세요.
- #include: 전처리기 지시문이라고 하여 자주 사용하는 기능들을 그룹화해서 상단에 미리 선언해 둘 수 있습니다. 화면에 내용을 출력하기 위한 printf() 함수는 <stdio.h> 이름의 파일에 정의가 되어 있어 반드시 #include 지시문으로 포함해야 합니다.
- C 언어 코드의 끝에 붙는 세미콜론(;) 기호는 명령어(문, 문장)의 끝을 나타냅니다.
- C 언어 코드는 중괄호 열고(
{
)와 닫기(}
) 기호를 사용하여 프로그램 코드의 범위(스코프)를 구분 짓습니다. - printf();은 출력문으로 책에서 계속 사용합니다.
C 언어 표준에 의해서 main() 함수는 int main(void) 형태로 반환 값을 int로 제시해야 합니다. 이 부분은 아직 배우지 않은 부분이기에 기본 구조만 설명하겠습니다.
코드: main_simple.c - 2단계
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
}
결과:
Hello, World!
main() 함수 마지막에는 return 0; 구문을 포함해서 main() 함수가 종료된 후 운영체제에게 숫자 0을 반환하여 정상 종료됨을 알립니다. 박용준 강사의 이 강의에서는 이 모양을 기준으로 하겠습니다.
코드: main_simple.c - 3단계
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
return 0;
}
결과:
Hello, World!
NOTE
데니스 리치의 저서에서는 위 1단계 코드 작성 방식을 소개했으나, 50년이라는 시간이 흐르는 동안 C 언어의 표준 코드 작성 방식은 발전하여 현재의 3단계 접근 방식으로 변화하였습니다. 그럼에도 불구하고, 학습 목적으로 사용되는 대부분의 컴파일러 도구들은 이러한 변화에 유연하게 대응하여 어느 방식을 사용하더라도 문제없이 코드를 처리할 수 있습니다.
3.8. main() 함수: 프로그램의 진입점
C 언어의 기본 구조에서 반드시 사용되는 main() 함수는 프로그램의 시작 지점입니다. C 언어는 반드시 main() 함수가 있어야 하고 main() 함수에서 프로그램이 실행하고 종료합니다.
[그림] main() 함수는 C 언어 프로그램의 시작점
아직은 낯설지만, main() 함수는 int main(void) {} 형태를 가집니다. 만약, 하나의 프로젝트에 main() 함수가 두 개이면 "프로그램에 진입점이 두 개 이상 정의되어 있습니다."와 같은 에러 메시지가 발생하여 프로그램이 컴파일되지 않습니다.
3.9. 중괄호의 위치
main() 함수처럼 프로그램의 시작과 끝을 나타낼 때에는 중괄호 열고({
) 닫고(}
)를 사용합니다. 이 때 중괄호의 위치는 크게 2가지 스타일로 사용할 수 있습니다.
중괄호의 시작과 끝을 맞추는 형태인 Allman 스타일과 줄의 맨 마지막에 시작 중괄호를 넣는 K&R 스타일이 가장 많이 사용됩니다.
코드: brace_location.c - 1번 스타일: 시작과 끝을 맞추는 형태 - Allman 스타일
#include <stdio.h>
int main(void)
{
printf("Allman\n");
return 0;
}
결과:
Allman
코드: brace_location.c - 2번 스타일: 줄의 맨 마지막에 시작 중괄호를 넣는 형태 - K & R 스타일
#include <stdio.h>
int main(void) {
printf("K & R\n");
return 0;
}
결과:
K & R
위 1번과 2번 스타일 중 어느 형태를 사용해도 전혀 상관없으나, C 언어와 이 강의에서는 1번 스타일을 사용합니다. 기타, Java와 JavaScript와 같은 프로그래밍 언어에서는 2번 스타일도 많이 사용됩니다. 더 많은 들여쓰기 스타일은 아래 링크를 참고하세요.
NOTE
C 언어에서는 Allman 스타일과 K&R 스타일 모두 널리 사용되며, 어느 쪽을 선택하든 기술적인 문제는 발생하지 않습니다. 학생이라면 교수님이 선호하시는 스타일을, 직장인이라면 회사의 코딩 규칙을 따르는 것이 좋습니다. 박용준 강사는 개인적으로 Allman 스타일을 선호합니다.
3.10. 공백 처리
C 언어에서 공백(Whitespace)은 무시됩니다. 프로그램 코드 작성시 명령어와 괄호 사이의 공백은 무시되고 줄바꿈 또한 프로그램 실행에 영향을 주지 않습니다. 공백을 포함하여 탭, 줄 바꿈 등도 실행시 무시됩니다. 공백 처리를 위한 코드를 살펴보기 위해서 Visual Studio에서 새 프로젝트를 생성합니다. 혹은 "Hello World"를 출력할 때 사용한 프로젝트를 그대로 사용해도 됩니다. 프로젝트가 준비되었다면 다음 소스 코드를 편집창에 입력한 뒤 [Ctrl+F5]를 눌러 실행해보세요.
코드: whitespace.c
#include <stdio.h>
int main(void)
{
printf("C 언어\n");
printf ( "C 언어\n" ) ;
printf (
"C 언어\n"
) ;
return 0;
}
결과:
C 언어
C 언어
C 언어
모두 같은 결과가 나왔죠? 하지만 첫번째 방식을 권장하고 줄 바꿈 등은 가독성을 위해서 적절하게 사용하면 됩니다.
대소문자 구분
C 언어에서는 대소문자를 엄격히 구분합니다. 이는 printf()
함수와 같이, 함수명을 정확히 대소문자에 맞추어 입력하지 않을 경우 에러가 발생함을 의미합니다.
아래의 예제를 통해 실제로 확인해보겠습니다. 제시된 코드를 소스 코드 편집기에 입력하고, [Ctrl+F5]를 눌러 실행해 보세요.
코드 예제: casesensitive.c - 단계별 실행
1단계: 잘못된 함수 및 진입점 사용
#include <stdio.h>
Int main(void)
{
Printf("C 언어는 대소문자를 구분하는 언어입니다.\n");
return 0;
}
이 코드에서는 int main(void)
함수가 Int main(void)
로 잘못 입력되어 있어, 프로그램의 진입점을 찾지 못하고 에러가 발생합니다.
수정 후 컴파일:
Int main(void)
를 올바른 형태인 int main(void)
로 수정합니다.
2단계: 대문자로 잘못된 함수명 사용
#include <stdio.h>
int main(void)
{
Printf("C 언어는 대소문자를 구분하는 언어입니다.\n");
return 0;
}
이 코드에서는 printf()
함수를 Printf()
로 잘못 입력하여, 알려지지 않은 함수 호출로 인해 에러가 발생합니다.
수정 후 컴파일:
Printf()
를 올바른 형태인 printf()
로 수정합니다.
3단계: 올바른 코드
#include <stdio.h>
int main(void)
{
printf("C 언어는 대소문자를 구분하는 언어입니다.\n");
return 0;
}
결과:
C 언어는 대소문자를 구분하는 언어입니다.
이제 코드는 정상적으로 컴파일되고 실행됩니다. 이 예제를 통해 C 언어에서 대소문자 구분의 중요성을 확인할 수 있습니다.
3.12. C 언어 프로그래밍 개발 주기
C 언어로 프로그램을 개발하는 과정은 크게 세 가지 주요 단계를 포함합니다. 이 단계들은 프로그래밍 과정에서 반복적으로 수행되며, 각 단계는 다음과 같습니다.
디자인 타임:
- 이 단계는 프로그램의 설계와 C 언어로 코드를 작성하는 과정을 포함합니다.
- 예를 들어, Visual Studio에서 프로젝트를 생성하고 코드를 작성하는 작업이 여기에 해당합니다.
컴파일 타임:
- Visual Studio와 같은 통합 개발 환경(IDE)를 사용하여, 작성한 코드를 컴퓨터가 이해할 수 있는 형태로 컴파일하는 과정입니다.
- Visual Studio에서 F5를 누르거나 빌드를 위해 Ctrl + Shift + B의 조합을 사용하여 소스 코드를 컴파일합니다.
런타임:
- 프로그램이 기기에서 원활하게 실행되는지 테스트하는 단계입니다.
- Visual Studio에서 실행 테스트를 위해 Ctrl + F5를 사용합니다.
3.13. 의사 코드 (Pseudo Code)
본 강의에서는 특별한 상황이 아닌 경우, 전체 소스 코드를 화면에 표시할 계획입니다. 그러나, 간단한 코드 사용법을 설명하고자 할 때는 아래와 같이 의사 코드 또는 슈도 코드를 사용하여 필요한 부분만을 간략히 보여주기도 합니다.
> printf("의사 코드 사용하여 필요한 소스만 화면에 표시");
의사 코드를 사용하여 필요한 소스만 화면에 표시
이 방식을 통해, 의도한 바를 명확히 전달할 수 있습니다.
하나 이상의 C 언어 프로젝트 생성 및 실행하기
여러분은 이제 하나 이상의 C 언어 프로젝트를 생성하고, C 언어 파일을 만들어 실행하는 방법을 배웠습니다. 이 과정을 통해 기본적인 프로그래밍 개념과 실행 메커니즘에 대해 이해할 수 있습니다.
C 언어 파일명 규칙
C 언어 표준 자체는 파일명의 형식에 대해 구체적인 규칙을 제시하지 않습니다. C 언어 표준 문서는 언어의 문법, 구문, 데이터 타입, 라이브러리 함수 등 프로그래밍 언어의 기본 구조와 동작에 관한 사항을 정의합니다. 파일명의 형식이나 명명 규칙은 특정 플랫폼이나 개발 환경의 관습에 따라 다를 수 있으며, 이는 표준 C 언어 사양의 일부가 아닙니다.
그러나, 일반적으로 C 언어 프로젝트에서는 파일명을 소문자로 작성하고, 단어 간 구분을 위해 하이픈(-
) 또는 언더스코어(_
)를 사용하는 관습이 있습니다. 이 중에서 선택은 주로 개발 팀의 코딩 규칙이나 프로젝트의 스타일 가이드에 따라 결정됩니다. 몇 가지 이유로 인해 언더스코어(_
)를 선호하는 경우가 많은데, 이는 대부분의 운영 체제와 개발 환경에서 널리 지원되고 충돌의 위험이 적기 때문입니다. 하이픈은 일부 시스템에서 특수한 의미를 가질 수 있어 (예: 명령줄 옵션), 파일명에 사용하기에 앞서 호환성을 고려해야 할 수 있습니다.
따라서, C 언어 표준에 따른 명시적인 규칙은 없으며, 파일명의 형식은 개발자나 팀의 선호도, 프로젝트의 요구 사항, 그리고 사용하는 개발 환경의 제약 사항을 고려하여 결정되어야 합니다.
이 강의에서는 기본적으로 언더스코어를 사용하여 파일명을 구분하는 방식을 따르겠습니다. 그러나, 강의 자료에서 제공되는 소스 코드는 C#의 파일명 규칙을 준수하여, 대소문자를 사용한 명명 규칙을 적용할 것입니다. 따라서, 파일명은 언더스코어를 사용하여 단어를 구분하거나, 'HelloWorld'와 같이 대문자를 사용하여 단어의 시작을 나타내는 형식을 취할 것입니다.
TMI: main() 함수
C 언어에서 main()
함수는 프로그램의 시작점입니다. 아래 샘플 코드는 main()
함수에 추가 정보를 전달하는 방법을 보여줍니다. 이는 명령줄 인수를 활용하는 예시이며, 본 강의에서는 나중에 자세히 다룰 예정입니다. 현재는 main()
또는 main(void)
형태로 사용하는 것으로 충분합니다.
int main(int argc, char *argv[])
{
// 코드 구현
}
3.14. 장 요약
이 장에서는 Visual Studio와 같은 개발 도구를 사용하여 Hello World 프로그램을 작성하고, C 언어 문법에 맞게 코드를 작성해 실행하는 기본적인 프로세스를 학습했습니다. 이 과정을 통해 콘솔 창에 문자열을 출력하는 가장 기본적인 프로그램을 작성해 보았습니다. Hello World 프로그램 작성 과정을 기억하며, 앞으로 진행될 다양한 예제와 실습을 통해 C 언어 프로그래밍 능력을 더욱 향상시켜 나갈 것입니다.
참고 강의 - C 언어에서 "Hello" 출력하는 42가지 방법
재미있는 사실로, C 언어로 "Hello World"를 42가지 다양한 방식으로 출력하는 방법을 보여주는 동영상이 있습니다. 현재 배우는 단계에서는 이해하기 어려운 내용도 포함되어 있지만, 나중에 시간이 날 때 관심을 가지고 살펴보는 것도 좋을 것입니다.
Hello World 출력하는 42가지 방법 동영상 보기