TIL) C - 배열과 포인터

oatraspberry·2023년 8월 8일
post-thumbnail

배열

배열의 정의

  • 동일한 자료형을 갖는 자료들의 리스트
  • 배열의 각 요소는 하나의 변수로 취급한다.
  • 배열은 배열명과 첨자로 구분한다.
  • 효율적인 자료 처리가 가능하다.

1차원 배열

  • 배열의 첨자가 하나만 있는 배열
  • 첨자의 개수는 배열 전체의 구성 요소의 개수를 의미한다.
  • 첨자는 0부터 시작한다.
  • 자료형과 기억 클래스를 갖는다.

1차원 배열 선언

형식: 자료형 배열명[개수] ex) int a[10]
=> 1차원 배열로서 배열명은 a이고 배열이 크기는 10이며, 정수값이 기억된다. int형이므로 각 요소의 자료는 4byte다.

1차원 배열의 초기화

배열을 선언하면 기억공간을 초기화 해야 한다.
초기화 방법
1) 배열선언 후 초기값을 할당한다.
2) 배열선언과 동시에 초기값을 할당한다.
int array[4] = {10, 20, 30, 40};
3) 외부로부터 자료를 입력받아 초기화한다.

int x[10];
	for(i = 0; i < 10; i++) {
    	scanf("%d", &x[i]);
    }

다차원 배열

2차원 배열

배열의 첨자가 2개인 배열
형식: 자료형 배열명[행의 수][열의 수] ex) int a[3][4]
=> 2차원 배열로서, 배열명은 a이고 3행 4열로 된 12개의 요소를 가진 정수형 배열이다.

int array[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int array[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int array[3][3] = {{1, 2, 3},
				   {4, 5, 6},
                   {7, 8, 9}};

3차원 배열

배열의 첨자가 3개인 배열
형식: 자료형 배열명[면의 수][행의 수][열의 수] ex) int a[2][3][4]
=> 3차원 배열로서, 배열명은 a이고 2면 3행 4열로 된 24개의 요소를 가진 정수형 배열

char형 배열

문자열을 처리하기 위해 사용되는 배열
형식: char 배열명[문자열 길이+1] ex) char str[12]
=> 배열명이 str이고 12문자 길이를 가진 char형 배열이다.

char name[] = "HONG GIL DONG"; // 문자열 단위로 초기화
char address[] = { 'S', 'E', 'O', 'U', 'L', '\O' }; // 문자 단위로 초기화 ('\0' 문자를 삽입해야 한다.)

함수와 배열

배열을 함수의 매개변수로 사용할 경우

  • 함수 호출 시 배열명만 명시하여 호출한다.
profile
개발자가 될테야

0개의 댓글