210107 개발일지(31일차) - c언어 알아보기(1) : c언어 개요, 함수 등 (for B+Tree)

고재개발·2021년 1월 7일
0

C Language

목록 보기
1/13
post-thumbnail

제목대로 B+Tree 구현을 위해 C언어를 써야하는데, 속성 습득을 위해 boostcourse에 있는 무료 강의를 듣고 정리하고자 한다. 파이팅!
앞으로 정리 될 내용은, 수업 특성상 좀 틀린 내용이 있을 것 같다.(#include <cs50.h>를 활용해 특정 라이브러리를 받기 때문.. 등..)

Clang(클랭)

클랭이란 C, C++, 오브젝티브-C, 오브젝티브-C++ 프로그래밍 언어를 위한 컴파일러 프론트엔드이다. LLVM을 백엔드로 사용하며 LLVM 2.6 이후로 릴리즈의 일부로 자리잡았다.
목표는 GNU 컴파일러 모음 (GCC)를 대체하는 것이다. 개발은 완전히 오픈 소스이며 구글, 애플 등 대형 소프트웨어 기업의 지원을 받고 있다. 소스는 일리노이 대학교/NCSA 오픈 소스 라이선스로 이용할 수 있다.
클랭 프로젝트는 클랭 프론트엔드와 클랭 정적 분석기를 포함한다.

c언어 개요

아래 코드는 시작한다는 의미를 갖고 있으며, 우리가 작성할 코드는 전부 {} 사이에 온다고 생각하면 된다.

int main(void)
{
//우리가 작성할 코드~!~!~!
}

c언어 코드는 반드시 세미콜론(;)을 붙여서 마침표 역할을 해줘야 한다.

printf 사용을 위해서는 <stdio.h> 파일을 불러와야 한다.

  • .h로 끝나는 파일은 헤더파일로, c언어로 작성된 파일이다.
  • 파이썬에서 print함수와 같은 역하인 printf를 활용하기 위해 아래와 같은 명령어를 입력해줘야 한다.
#include <stdio.h>

특정 변수와 함께 출력하기 위해서는 형식지정자(%s, %i, %f) 등과 함께해야 한다.

printf("hello, %s", answer) #이런 식!
  • %c : char
  • %f : float, double
  • %i : int
  • %li : long
  • %s : string

if, while 사용

아래와 같이 세미콜론은 if나 else뒤에는 안붙는다.
while도 아래와 비슷한 양식으로 사용한다.

if (#조건)
{ #실행 코드;
}
else
{ #실행 코드;
}

for 반복문 사용

아래와 같이, 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");
}
profile
고재개발

2개의 댓글

comment-user-thumbnail
2021년 1월 11일

세미콜론은 마침표 역할입니다;
이제 ;;;;;;=...... 란 말이에여

1개의 답글