제목대로 B+Tree 구현을 위해 C언어를 써야하는데, 속성 습득을 위해 boostcourse에 있는 무료 강의를 듣고 정리하고자 한다. 파이팅!
앞으로 정리 될 내용은, 수업 특성상 좀 틀린 내용이 있을 것 같다.(#include <cs50.h>를 활용해 특정 라이브러리를 받기 때문.. 등..)
클랭이란 C, C++, 오브젝티브-C, 오브젝티브-C++ 프로그래밍 언어를 위한 컴파일러 프론트엔드이다. LLVM을 백엔드로 사용하며 LLVM 2.6 이후로 릴리즈의 일부로 자리잡았다.
목표는 GNU 컴파일러 모음 (GCC)를 대체하는 것이다. 개발은 완전히 오픈 소스이며 구글, 애플 등 대형 소프트웨어 기업의 지원을 받고 있다. 소스는 일리노이 대학교/NCSA 오픈 소스 라이선스로 이용할 수 있다.
클랭 프로젝트는 클랭 프론트엔드와 클랭 정적 분석기를 포함한다.
아래 코드는 시작한다는 의미를 갖고 있으며, 우리가 작성할 코드는 전부 {} 사이에 온다고 생각하면 된다.
int main(void)
{
//우리가 작성할 코드~!~!~!
}
c언어 코드는 반드시 세미콜론(;)을 붙여서 마침표 역할을 해줘야 한다.
printf 사용을 위해서는 <stdio.h> 파일을 불러와야 한다.
#include <stdio.h>
printf("hello, %s", answer) #이런 식!
- %c : char
- %f : float, double
- %i : int
- %li : long
- %s : string
아래와 같이 세미콜론은 if나 else뒤에는 안붙는다.
while도 아래와 비슷한 양식으로 사용한다.
if (#조건)
{ #실행 코드;
}
else
{ #실행 코드;
}
아래와 같이, for 옆에 괄호를 열고 (1.변수 초기화(정의) 2. 변수 조건(범위) 3. 변수의 증감)에 해당하는 코드를 넣어준다. 예를 들면 아래와 같다.
for (int i=0; i<50; i+=1)
{print(hello,world);
}
아래 목록은 변수의 데이터 타입으로 사용할 수 있는 것들이다.
- bool(1byte): 불리언 표현, (예) True, False, 1, 0, yes, no
- char(1byte): 문자 하나 (예) 'a', 'Z', '?'
- string: 문자열
- int(4bytes): 특정 크기 또는 특정 비트까지의 정수 (예) 5, 28, -3, 0
- long(4bytes??): 더 큰 크기의 정수
- float(4bytes): 부동소수점을 갖는 실수 (예) 3.14, 0.0, -28.56
- double(8bytes): 부동소수점을 포함한 더 큰 실수
파이썬에서는 아래와 같이 정의해두면, 작성된 위치는 중요하지 않았으나 C에서는 중요하다.
def function(x):
#어쩌구저쩌구 ~
return value
만약 main함수 밑에 함수를 정의해놨다면, main함수를 돌 때 에러가 나서 '함수 정의 선언부분(?)' 한 줄만 맨 위로 올려서 에러를 피할 수 있다.
#include <stdio.h>
void cough(void); #바로 이 부분!
int main(void)
{for (int i = 0; i < 3; i++)
{cough();
}
}
void cough(void)
{printf("cough\n");
}
세미콜론은 마침표 역할입니다;
이제 ;;;;;;=...... 란 말이에여