배열은 같은 자료형의 변수를 일렬로 늘어놓은 형태, 반복문을 사용하여 반복되는 값을 처리
배열의 선언
자료형 배열이름[크기];
선언과 초기화
자료형 배열이름[크기] = { 값, 값, 값 };
배열의 크기를 생략
자료형 배열이름[] = { 값, 값, 값 };
초기화를 하지 않을 때는 생략할 수 없다
int numArr1[] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 }; // 배열의 크기 생략
int numArr2[]; // 컴파일 에러
#include <stdio.h>
int main() {
int arr[10] = { 11,22,33,44,55,66,77,88,99,110 };
printf("%d", arr[0]); // 11.
printf("%d", arr[5]); // 55
printf("%d", arr[9]); // 110.
}
int arr[10] 크기가 10인 int형 배열 선언
배열의 선언 초기화 시{ } 값의 개수는 배열의 크기보다 작아도 되지만 크면 안 된다.
배열에 각 요소에 접근하는 방법은
arr[0]; //첫번째 요소 index 0
arr[5]; //여섯 번째 요소 index 5
arr[9]; //열번째 요소 index 9
주의점
배열의 인덱스는 항상 0부터 시작한다.
int arr[0]; // 컴파일 에러. 크기가 0인 배열은 선언할 수 없음
int arr[1]; // 크기가 1인 배열. 요소가 1개
arr[0]; // 배열의 첫 번째 요소, 인덱스 0에 접근
배열을 0으로 초기화
#include <stdio.h>
int main() {
int arr[10] = { 0, };
printf("%d\n", arr[0]);
printf("%d\n", arr[5]);
printf("%d\n", arr[9]);
}
{0, } 을 사용하여 일일이 초기화 하지 않아도 배열의 모든 요소를 0으로 초기화 할수 있다.
배열은 [index]로 값을 할당할 수 있다.
arr[0] = 11;
arr[5] = 66;
arr[9] = 110;
배열의 범위를 벗어난 접근
printf("%d\n", numArr[-1]); // 음수이므로 잘못된 인덱스 -858993460 (쓰레기 값)
printf("%d\n", numArr[10]); // 배열의 범위를 벗어난 인덱스 - 858993460 (쓰레기 값)
printf("%d\n", numArr[20]); // 배열의 범위를 벗어난 인덱스 13651968 (쓰레기 값)
'C > C' 카테고리의 다른 글
sizeof 연산자 O 함수 X (0) | 2022.10.04 |
---|---|
scanf() 표준 입력 함수 (0) | 2022.10.04 |
포인터 pointer 4 - 이중 포인터, 주의할 점 (0) | 2022.10.04 |
strlen(); 문자열의 길이 (0) | 2022.10.03 |
포인터 pointer 3 - void 포인터 (0) | 2022.10.03 |