본문 바로가기

C 언어

C 언어 0.04 - 배열 ( array )

배열의 기초


/* 배열 기초 */
#include <stdio.h>
int main() {
  int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  int arr[] = {1,2,3,4,5} // 크기가 5인 배열

  printf("Array 3 번째 원소 : %d \n ", arr[2]);
  return 0;
}

배열은 말 그대로 특정한 형의 변수들의 집합이다.

 

배열의 선언은 다음과 같다.

( 배열의 타입 ) ( 배열의 이름 ) [원소 개수] ;

 

다음과 같은 코드가 있을 때 컴파일러는 내부적으로 

int arr[3] = {1,0,0} 이라고 생각한다.

int arr[3] = {1};

 

고차원 배열


/* 2 차원 배열 */
#include <stdio.h>
int main() {

  int arr[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
  int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
  
  int arr[][2] = {{1, 2}, {3, 4}, {5, 6}, {7}}; // 가능
   
  int arr[2][] = {{4, 5, 6}, {7, 8, 9}}; // 불가능

  printf("arr 배열의 2 행 3 열의 수를 출력 : %d \n", arr[1][2]);
  printf("arr 배열의 1 행 2 열의 수를 출력 : %d \n", arr[0][1]);
  return 0;
}

고차원 배열의 선언은

 (배열의 타입) (배열의 이름) [?][?] 

 

유의할 점은 

다차원 배열에서는 맨 앞의 크기를 제외한 나머지 크기들을 정확히 지정해줘야 오류가 발생하지 않는다.

 

'C 언어' 카테고리의 다른 글

C 언어 0.07 - bool 자료형  (0) 2021.10.30
C 언어 0.05 - 포인터 ( pointer )  (0) 2021.10.30
C 언어 0.03 - 문자열 ( string )  (0) 2021.10.27
C 언어 0.02 - fgets vs scanf  (0) 2021.10.27
C 언어 0.01 - 변수 (variable)  (0) 2021.10.27