처음 C 시작하기 (feat. Dev C++)

코드늘보·2024년 8월 25일

현재 C 언어를 독학 중인데요.
dev C++을 통해 간단하게 C를 공부 할 수 있도록 개발환경을 준비하는 방법에 대해 소개드립니다.
용량이 작고 설치가 간단하여 문법, 알고리즘 공부에 편리합니다.

1. dev C++ 다운로드

구글에서 dev C ++ 검색 또는 아래 링크에서 다운받아 주세요.
(공식 홈페이지에서 제공하는 Dev-C++는 컴파일이 잘 안되어서 sourceforge에서 받았습니다)
https://sourceforge.net/projects/orwelldevcpp/

2. 언어 선택, 설정, 경로 선택

언어는 원하는 언어를 선택해주시고, 설정도 모두 체크하여 다운로드 하셔도 무방 합니다.
설치가 완료되면 폰트와 UI도 선택이 가능한데 저는 기본으로 설정하였습니다.

3. dev C ++ 실행하기

아이콘을 클릭하면 프로그램이 실행되는 첫화면 입니다.
좌측 상단 흰 종이 아이콘 ⬜을 누르면 소스파일을 열고 코드를 작성 할 수 있습니다.

4. 함수 동작 설명

코드를 설명하기 전에 가장 기초적인 코드 동작방식을 비유를 통해 설명해보겠습니다.
저는 개인적으로 처음 코딩을 배울 때 이 구조 자체가 이해가 안가서 어려웠습니다. ㅠㅠ
다른언어를 포함하여 표현 방식만 다를 뿐 함수의 구조는 아래 형식과 다 비슷한 것 같습니다.

전달 할 자료형식 함수명 (받는 자료 형식) {
	실행 할 코드
}

가래떡을 만드는 기계에 비유하여 설명드려보겠습니다.
저희가 가래떡을 만드려면 최소한 쌀가루, 물, 소금이 필요하겠죠?
기계 입구에 쌀가루, 물, 소금을 넣고 찌고 모양을 만들어 뽑아내면 출구에는 가래떡이 나오구요.
(실제 가래떡 공정과는 살짝 다릅니다. 실제로는 가열이 먼저 된 찐 쌀가루 덩어리를 넣어요. )

이걸 함수로 표현해 보면 어떻게 될까요?

떡종류 떡만드는 기계(식재료 쌀가루, 식재료 물, 식재료 소금) {
	원재료 섞는 공정
    가열 공정
    압출 공정
    return 가래떡;
}

떡종류는 출구에서 나오는 결과물의 자료형을 뜻하고 소괄호안에는 들어갈 재료의 자료형과 원재료명1, 자료형과 원재료명2 .... 이렇게 표현 할 수 있을 것 같습니다.
중괄호 사이에는 실행 할 동작들을 입력하면 됩니다.
그리고 '떡종류'라는 출력물 자료형을 적어주었잖아요? 이럴땐 마지막에 return으로 내보낼 값을 기재해주셔야 합니다.

현실에서도 아무것도 넣지 않아도 실행되는 기계가 있기도 하고, 재료를 넣었는데 나오는 것은 없는 기계가 있기도 하죠?
코드에서 구현되는 함수들도 입력값과 결과값을 필요성을 상황에 따라 구현합니다.
이제 콘솔창에 Hello World!가 출력되는 코드를 실행 시켜보겠습니다.

5. 코드 작성 후 실행하기

dev C++은 소스코드를 저장하고 실행하면 컴파일러가 exe파일을 만들고 실행시킵니다.
일단 파일 실행을 위한 필수 코드를 작성해보겠습니다.

#include<stdio.h> :

입출력과 관련된 기능을 사용하기 위한 코드 입니다.
#include는 라이브러리를 사용하겠다고 선언하는 명령어 입니다.

<stdio.h> :

Standard Input/Output library의 약자입니다.
h는 헤더파일의 확장자명이라고 하는데 아직 잘 모르겠습니다.
콘솔창에서 메세지를 출력하는 printf()를 쓰려면 이 코드가 필요합니다.

int :

정수의 자료형을 표현하는 코드 입니다.
여기서는 결과값의 자료형 선언입니다.

main() :

함수명입니다.
main 함수라고 합니다. C에서 코드들의 실행은 main 함수 내에서 이뤄집니다.

(void) :

일단 이 부분은 입력 받을 대상들을 표현하는 코드인데 void는 뭘까요? void는 자료형이 없음을 의미합니다. 저희가 main 함수실행을 할 때 입력받을 것들이 필요 없음을 의미합니다.

// :

주석을 선언 할때 쓰는 기호 입니다. 실제 실행될 때는 //가 앞에 적힌 코드들은 컴퓨터가 없다고 인식하게 됩니다. 저는 코드를 설명하거나 메모용도로 사용합니다.

printf() :

printf 함수는 콘솔에 메세지를 출력하는 함수입니다.
아까 설명했듯이 <std.io.h>가 선언되어야 사용 가능합니다.

"%s", "Hello World!" :

%s는 String 즉 문자열을 출력할 때 사용하는 코드 입니다.
, 뒤에 출력할 자료를 입력하면 "%s", "Hello World!"가 출력 되는 것이 아니라 콘솔에서 %s 부분에 "Hello World!"가 대입되어 "Hello World!"만 출력 됩니다.
여기서 주의 하셔야 할 점은, 매칭할 자료형(타입)에 맞게 선언을 해주셔야 한다는 점입니다.
정수를 출력하고 싶으면 printf("%d", 100); 문자 한개를 출력하고 싶으면 printf("%c", "A"); 이런식으로 맞춰주셔야지 자료형이 잘못 매칭되면 오류가 발생합니다.
그리고 글을 쓸때도 마침표"."를 붙이듯이 코딩에서도 세미콜론;을 붙여주셔야 컴파일 시 컴퓨터가 이코드의 마치는 부분은 여기구나 하고 인식할 수 있습니다.

return 0; :

위 코드 main 함수에서 결과 값의 자료형을 int를 통해 정수라고 선언한 상황 입니다.
따라서 오류가 나지 않도록 정수 중 하나인 0을 출력값으로 적어주었습니다.
이코드 자체에서는 0이든 100이든 정수를 return 값에 넣어주면 오류 없이 실행이 되겠십니다.
또 응용해 볼 수 있는게 저희가 int 결과값이 필요한 main 함수를 구현 했잖아요?
만약에 결과값이 필요하지 않은 코드를 구현하고 싶으면 결과값 역시 void로 바꿔주면 return 값이 없어도 코드를 오류 없이 실행 할 수 있습니다.

#include <stdio.h>

void main(void)
{
	// 코드를 작성하는 부분
	printf("%s", "Hello World!");
}

여기서 처음 배우시는 분들이 헷갈리는 부분이 있을 것 같은데요.
return에 printf("%d", 0);을 적으면 0을 적어주지 않아도 되는것 아니야? 이렇게 생각 하실 수도 있을 것 같아요.
결과값 반환과 출력은 다릅니다.
printf()는 콘솔창에 메세지를 보여주는 것이지 실제 함수 결과 값이 반환되는 것이 아닙니다.
printf는 어떤 기계에서 메세지를 띄워준다고 생각하면 되실 것 같아요.

6. 파일 저장


좌측 상단 플로피디스크 모양 아이콘 또는 ctrl + s 키를 누르면 저장 창이 뜨게 됩니다.
저는 hello에 확장자를 c로 저장하겠습니다.

7. 실행하기


파일을 저장 후 F11 또는 사각형 아이콘을 클릭하면 컴파일 후 exe 파일을 만들고 코드가 실행되게 됩니다.

8. 실행결과

실행결과 입니다.
s%가 같이 출력되지 않고 hello world만 출력이 되었습니다.

9. 글을 마치며

잘 설명이 되었나 모르겠네요.
너무 기초적인 내용이지만 처음 C를 접하시는 분들께 조금이라도 도움이 되었으면 좋겠네요.

profile
쉬운 코드를 지향합니다.

0개의 댓글