웅재의 코딩세상

배열의 정의 (미로 탐색 1) 본문

개념/알고리즘

배열의 정의 (미로 탐색 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]인 두번째 메모리를 가리킨다.
반응형

'개념 > 알고리즘' 카테고리의 다른 글

미로 탐색 알고리즘 : 우선법  (1) 2023.11.26
미로탐색 2  (0) 2023.11.26
소수 판별 알고리즘  (1) 2023.11.23
유클리드 알고리즘  (0) 2023.11.23
자료구조와 알고리즘  (2) 2023.11.23