Category프로그래밍/C 포인터 (3)

3. 배열

- 배열은 같은 자료형의 연속적인 메모리 공간이다. - 배열의 이름은 그 배열이 시작하는 메모리 공간의 시작 주소이다. - int arr[n]의 배열은 n개의 int형 메모리가 만들어지며 arr[0] ~ arr[n - 1]의 메모리 공간을 사용할 수 있다. - 1차원 배열의 이름은 1차원 주소의 의미를 갖고, 2차원 배열의 이름은 2차원 주소의 의미를 갖는다. - 1차원 배열의 이름에는 * 연산자를 한 번 붙이면 값이 되고 2차원 배열의 이름에는 * 연산자를 두 번 붙여야 값이 된다. - n차원 배열의 이름은 n차원 주소의 의미이므로 * 연산자를 n번 붙여야 값에 접근할 수 있다.

2. 포인터

포인터란 주소를 저장하기 위한 메모리 공간이다. 즉, 주소를 저장하는 변수를 포인터라 한다. 포인터 변수는 변수 이름 앞에 '*'를 붙여 선언한다. 예로 char * cp는 char형 주소를 저장하는 변수 cp를 의미하고, cp를 포인터 변수라 한다. 포인터 변수의 크기는 4byte이다. 다차원 포인터 다차원 포인터는 포인터 변수의 주소를 저장하는 포인터이다. 포인터 변수도 메모리에 할당되기 때문에 4byte 크기를 갖고 주소도 4개 사용한다. 이때 포인터 변수도 메모리에 할당되므로 메모리의 주소를 가지며 이와 같은 주소를 저장하기 위해서는 다차원 포인터를 사용한다. 2차원 char형의 주소를 저장하기 위해서는 '**' 연산자를 붙여 char형 2차원 포인터 변수를 만들어 사용한다. 3차원 포인터와 4차..

1. 변수와 메모리

변수는 데이터를 저장하기 위한 메모리 공간의 이름이다. 변수는 자료형으로 메모리 공간의 크기와 형태를 나타낸다. - 자료형 자료형 / 명칭 크기 (1 byte = 8 bit) 정수형 char 1 byte short 2 byte int 4 byte long 4 byte 실수형 float 4 byte double 8 byte - 메모리 메모리는 데이터를 저장할 수 있는 저장 장치로 주기억 장치(RAM, ROM 등), 보조기억 장치(CDROM, HDD, FDD 등) 등을 말한다. RAM(Random Access Memory)의 특징 : 선형구조로 되어있으며 속도가 빠르고 데이터가 저장되지 않는 휘발성 특징을 갖고 있다. 메모리 공간은 주소값을 가지는 Header부분과 Data를 가지는 영역으로 나뉜다. 여기서..