검색결과 리스트
글
배열의 이해
언어로그/C/C++
2011. 3. 27. 20:53
1. 배열이란?
프로그램이 필요한 이유 중의 하나는 많은 양의 데이터를 처리하기 위해서이다.
그중에서도 동일한 형태를 갖는 다수의 데이터를 다루기 위해 배열을 사용할 수 있다. 배열은 연속적인 메모리 공간에
할당된 동일한 데이터 타입을 갖는 변수들의 묶음이다.
할당된 동일한 데이터 타입을 갖는 변수들의 묶음이다.
int array[3];
위와 같은 선언은 4바이트의 메모리가 연속적으로 3개가 할당되어 총 12바이트의 메모리가 생성된다.
이 때 array 라는 배열의 식별자에는 할당된 메모리의 시작주소가 할당된다. 즉 포인터 상수이다.
이렇게 할당된 메모리 공간에 배열의 식별자를 사용하여 접근할 수 있다.
배열의 첨자를 사용하여 접근하는 방법
scanf("%d %d %d \n", &array[0], &array[1], &array[2] );배열 식별자(포인터 상수)를 사용하여 접근하는 방법
scanf("%d %d %d \n", array, array + 1, array + 2 );
2. 배열의 초기화
배열 또한 일반적인 변수와 동일한 초기화 규칙을 따른다. 지역변수로 선언된 배열은 기본으로 쓰레기값으로 초기화되며,
전역변수로 선언된 경우는 0으로 초기화 된다. 배열의 선언과 초기화를 다음과 같이 할 수 있다.
int array[3] = { 10 , 20, 30 }; // 명시적으로 요소의 개수와 각 초기값을 설정
int array[] = { 10, 20 , 30 }; // 초기값의 수에 따라 요소의 수가 결정됨
int array[3] = { 10 }; // 첫요소만 10으로, 나머지는 0 으로 초기화됨
int array[3] = { 0 }; // 모든 요소를 0으로 초기화
특히 마지막 문장은 다수의 요소를 갖는 배열을 초기화 할 때 유용한 구문이다.
int array[100] = { 0 };
'언어로그 > C/C++' 카테고리의 다른 글
| 문자열 조작함수 직접 구현하기 (2) | 2011.04.29 |
|---|---|
| 라인 입출력 함수 (0) | 2011.03.27 |
| 배열의 이해 (0) | 2011.03.27 |
| 기억부류(Storage Class) / 변수 (0) | 2011.03.27 |
| 전역변수와 지역변수 (0) | 2011.03.27 |
| 함수의 이해 (0) | 2011.03.27 |