C는 컴퓨터를 모르는 사람이라도 한 번쯤은 들어본 적 있는 전통적인 언어이다.
C는 영어로 코드를 작성하여 컴퓨터에게 프로그램을 명령할 수 있도록 한다.
기본적으로 시작은 이렇게 되어야 한다.
맨 앞에 stdio.h는 Standard Input/Output Library의 약어로 C 언어의 표준 라이브러리 함수의 매크로 정의, 상수, 여러가지 함수가 포함된 헤더 파일이다.
main 이라는 함수를 부르고 중괄호 안에 있는 내용들의 코드를 컴퓨터를 실행할 예정이다.
이제 중괄호 안에 hello world를 출력하는 코드를 작성하였다.
hello world 뒤에 있는 \n 은 줄바꿈을 해준다는 뜻이다. (키보드의 Enter키와 같은 기능)
참고로, printf라는 함수는 stdio.h에 내장되어있는 함수이다.
이렇게 코드를 작성하고 파일 이름을 hello.c로 저장한다. (뒤에 .c를 꼭 붙여줘야한다.)
이제 이 프로그램을 실행시켜보려고 한다.
하지만 짚고 넘어가야할 점이 있다.
우리가 작성한 코드 -> 영어
컴퓨터가 읽을 수 있는 코드 -> 이진법
컴퓨터는 우리가 영어로 작성한 이 C 코드를 바로 이해하지 못한다.
우리가 어떤 프로그래밍 언어로 작성한 코드를 소스 코드 라고 부르고 컴퓨터가 읽을 수 있는 코드를 머신 코드 라고 한다.
즉, 컴퓨터가 소스코드를 읽기 위해서는 어떠한 변환 과정이 필요한데 여기서 필요한 프로그램이 바로 '컴파일러'이다.
이제 터미널로 가보자.
이 명령어는 clang이라는 컴파일러로 hello.c 라는 코드를 컴파일하라는 의미이다.
이제 엔터를 누르면
터미널은 다음 줄로 넘어가고 파일트리를 보면 a.out이라는 새로운 파일이 생성된 걸 확인할 수 있다.
a.out이 이진법으로 변환된 파일이 된다.
터미널에서 a.out 코드를 실행하면 hello world가 터미널에 출력되는 것을 볼 수 있다.
a.out 실행 코드는
. => 현재 폴더 위치 (빼먹으면 안됨)
/a.out => 파일 이름이나 폴더 이름
이번 강의에서 배운 것
- C printf 함수
- C의 실행 방법
- 컴파일러의 개념
'스터디 > CS50' 카테고리의 다른 글
하버드 cs50 2장 6) 하드웨어의 한계 (0) | 2023.02.11 |
---|---|
하버드 CS50 2장 5) 사용자 정의 함수, 중첩 루프 (0) | 2023.01.25 |
하버드 CS50 2장 4) 자료형, 형식 지정자, 연산자 (0) | 2023.01.15 |
하버드 CS 50 2장 3) 조건문과 루프 (0) | 2023.01.15 |
하버드 CS50 2장 2) 문자열 (1) | 2023.01.15 |