개념/알고리즘
배열의 정의 (미로 탐색 1)
웅드
2023. 11. 26. 21:58
- 연속된 메모리 공간을 차지하는 같은 타입의 데이터 집합
- 정적인 데이터타입으로 그 크기가 미리 정해져 있음
- 배열의 인덱스사용은 사용자 책임
int array[10]; // array[0] ~ array[9]
int array2[5] = {1,2,3,4,5}; // 정의와 동시에 초기화
배열과 포인터의 관계
- 배열의 이름은 배열이 저장된 메모리의 선두를 가리키는 상수 포인터이다.
- 인덱스 연산자 [ ] -> array [n] = *(array+n) 같은 의미이다.
int array[5] = {1,2,3,4,5};
array = array + 1; //배열의 이름은 상수 포인터로 변경 불가 -> error
int v1 = array[3];
int v2 = *(array + 3);
int *parray = array;
parray = parray+1;
v1 = parray[3]; //실제로 array[4]를 가리킨다.
v2 = *(parray + 3);
//array가 가리키는 곳은 [0]인 첫번째 메모리를 가리키고
//parray가 가리키는 곳은 [1]인 두번째 메모리를 가리킨다.
반응형