# 2차원 배열 (TWO-DIMENSIONAL ARRAYS) 2차원 배열은 사실 일차원 배열이다. 단지, 배열의 요소가 1차원 배열로 이루어져 있을 뿐이다. 2차원 배열을 선언할 때 우리는 주로 int arr[3][5] 와 같이 선언한다. 하지만 우리는 실제로 길이가 3인 배열 x를 생성했을 뿐이고, x의 각 요소들이 길이가 5인 일차원 배열일 뿐이다. 아래 그림을 살펴보자. 이 그림은 2차원 배열의 메모리 구조를 보여주고 있다. 먼저, 회색으로 통째로 칠해진 블럭을 보면 3개의 포인터를 가질 수 있는 크기로 되어 있다. 그리고 그 포인터를 따라가면, 5개의 integer 변수를 포함할 수 있는 녹색블럭이 각 3개가 나온다. C 에서 arr[i][j] 를 찾아가는 과정은 이렇다. 첫째로, x[i] 포인터..
# 포인터(Pointer) 포인터는 C언어의 가장 기본이라고 할 수 있다. 포인터는 C에 존재하는 모든 자료형에 대해 존재하는데, 예를 들면 int에 대한 포인터, char에 대한 포인터, float에 대한 포인터 등의 형태로 사용된다. 포인터의 본질은 메모리의 주소값을 가진다는 점이다. 포인터에 관련해서는 아래에 보이는 두 개의 중요한 연산자가 있다.& 주소 연산자 (the address operator)* 간접지정 연산자 (the dereferencing or indirection operator) 이 연산자들의 의미를 살펴보기 위해 아래와 같이 변수를 선언했다고 해보자. int i, *pi; // int i; int *pi; 이 두문장을 따로 작성한 것과 동일하다. 위와 같이 쓴 이유는 간결성을 위..
- Total
- Today
- Yesterday