본문 바로가기

Research

[C언어] 기본이 되는 가정

C언어에서 제일 기본이 되는 가정은 "어떤 값을 저장할 수 있는 공간이 엄청 많고 그 공간들을 찾아갈 수 있는 주소가 있다"는 것이다.
실제로 컴퓨터에는 숫자를 32억 개 저장할 수 있는 공간을 프로그램한테 주고 있다. 우리는 이제 이 공간에 있는 값을 읽어서 연산한 뒤 다시 그 공간에 저장해서 어떤 의미있는 일을 하면 된다. 한 번 예를 들어서 생각해보자. 1부터 10까지의 합을 구하는 프로그램을 짠다고 생각해보자. 그러면 먼저 이걸 어떻게 해결할 지를 생각해야 한다. 이걸 문제를 푸는 방법, 알고리즘이라고 한다.

조금 더 구체적으로 문제를 푸는 방법을 설명해야 한다. 일단, 우리는 프로그램의 결과, 1부터 10까지의 합을 저장할 위치가 필요하다. 그래서 우리는 무한한 공간에서 숫자 1개를 저장할 수 있는 공간을 하나 잡는다. 그 곳을 1000번지에 있는 공간이라고 생각해보자. 그리고 그 곳에다가 1을 저장한다. 그리고 그 다음 100번지에 있는 값을 읽어와서 2를 더한 뒤, 다시 1000번지에 저장한다. 이런 행위를 10까지 반복하고 나면, 1000번지에는 1부터 10까지의 합이 저장되어 있을 것이다. 이게 전체적인 알고리즘이다. 

이를 프로그래밍 언어라는 규칙으로 어떻게 현실화시키는 지가 중요하다. 예를 들어서, 이런 주소값에 "어떤 공간을 하나 잡는다"는 개념이나 "해당 공간에 있는 값을 불러오거나 저장하는 방법"을 C언어로써 표현하는 것이다. 다음 글부터는 기본 문법부터 알아보도록 하자.

 

'Research' 카테고리의 다른 글

규모가 점점 커지는 개발에 대한 고민  (0) 2020.07.14
[C++] 입출력  (0) 2019.04.21
[C언어] 소개  (0) 2018.12.21
클러스터링 (Clustering)  (0) 2018.12.14
이미지 세분화 (Image segmentation)  (0) 2018.12.14