웅재의 코딩세상
배열의 정의 (미로 탐색 1) 본문
- 연속된 메모리 공간을 차지하는 같은 타입의 데이터 집합
- 정적인 데이터타입으로 그 크기가 미리 정해져 있음
- 배열의 인덱스사용은 사용자 책임
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]인 두번째 메모리를 가리킨다.
반응형
'개념 > 알고리즘' 카테고리의 다른 글
미로 탐색 알고리즘 : 우선법 (1) | 2023.11.26 |
---|---|
미로탐색 2 (0) | 2023.11.26 |
소수 판별 알고리즘 (1) | 2023.11.23 |
유클리드 알고리즘 (0) | 2023.11.23 |
자료구조와 알고리즘 (2) | 2023.11.23 |