컴퓨터 과학은 문제 해결에 대한 학문이다.문제 해결은 입력을 전달받아 출력을 만들어내는 과정이다. 그리고 그 중간에 있는 과정이 컴퓨터 과학이다.입력과 출력을 표현하는 방법을 규정해야한다.컴퓨터는 오로지 0과 1만을 이용하여 숫자뿐만 아니라 글자, 사진, 영상 등의 다
직접 작성한 코드를 소스 코드라고 부른다.이를 2진수로 작성된 머신 코드로 변환해야 컴퓨터가 이해할 수 있다. 이런 작업을 컴파일러라는 프로그램이 수행해준다.터미널 창의 명령어 프롬프트에서 $ 기호 옆에 원하는 명령어를 입력하면 된다.clang hello.c 라는 명령
컴파일의 전체 과정은 네단계로 나누어 볼 수 있다전처리전처리기에 의해 수행된다전처리기는 명령을 듣고 포함시키기 위해 새로운 파일을 생성하는데, 이 파일은 여전히 C 소스 코드의 형태이다.컴파일컴파일이라는 용어는 소스코드에서 오브젝트 코드로 변환하는 전체 과정을 통틀어
Big O가 알고리즘 실행 시간의 상한을 나타낸다.O(n/2)는 n이 매우커지면 1/2는 의미없어지므로 O(n)이라고 본다.주로 사용하는 Big O 표기O(n^2)O(n log n)O(n) - 선형 검색O(log n) - 이진 검색O(1)Big Ω는 알고리즘 실행 시간
컴퓨터 과학에서는 숫자를 16진수로 표현하는 경우가 많다.앞에 0x를 붙혀 16진수임을 알린다.2진수를 사용하는데, 2개의 16진수는 1byte의 2진수로 변환되기 때문에 정보를 표현하기 유용하다.어떤 변수를 선언, 초기화 한 후 그 변수가 저장되어었는 메모리의 주소를
일정한 크기의 배열이 주어졌을 때 크 크기를 키우려면 새로운 공간에 큰 크기의 메모리를 할당하고 기존 배열의 값들을 하나씩 옮겨줘야한다.이 작업을 realloc(원본 배열, 메모리크기)로 한번에 할 수 있다.배열에서는 각 인덱스의 값이 메모리상에서 연이어 저장되어 있다