-
일차원 배열 - 바로 실행해보면서 배우는 C언어CS/C언어 2019. 12. 28. 22:38
배열(Array) : 하나의 변수에 여러 개의 값을 저장할 수 있는 데이터 타입
배열 선언 및 초기화
int arr1[5] = { 1, 33, 47, 102, 155 }; //선언과 동시에 초기화
int arr2[5] = { 5, 10 }; //0번째, 1번째 값을 5, 10으로 초기화하고 나머지는 모두 0으로 초기화
int arr3[5] = { }; //모두 0으로 초기화
int arr4[5]; //선언만 하고 초기화하지 않음
int arr6[] = { 11, 22, 33, 44 }; //배열의 크기는 자동으로 4로 초기화됨
배열의 데이터 타입에 맞는 값만 담을 수 있다.
*초기화하지 않았을 경우 : 배열의 갯수를 넘어서는 범위를 출력하거나, 초기화하지 않을 배열을 출력했을 때는 대부분 쓰레기값이 나온다.
(변수의 값을 정했다면 변수가 저장된 메모리 영역의 값은 변수의 값이 되지만, 정해주지 않았을 경우 메모리 자체에서 가지고 있는 값을 보여주게 된다.)
배열에 접근하기
arr[0];
인덱스를 통해 배열의 값을 가져올 수 있다.
배열의 주소
배열은 일반 변수와는 달리 메모리 주소가 연결되어 있다. 배열의 연속된 원소끼리의 주소는 자료형의 크기만큼 차이난다. (1000, 1004, 1008 ...)
(일반 변수는 선언될 때 메모리에 무작위로 저장됨)
배열의 길이 구하기
sizeof(arr) / sizeof(arr[0])
배열의 크기 / 배열 중 하나의 요소의 크기 ⇒ 배열의 길이
*sizeof() : 메모리 상에서 차지하고 있는 용량을 알려주는 함수
다음과 같은 방법으로 구할 수도 있다.
int arr[5];
int length = sizeof(arr) / sizeof(int);
배열의 크기 / 배열에 담긴 요소의 데이터타입의 크기 ⇒ 배열의 길이
배열의 길이를 알아내 for문의 종결 조건으로 사용함으로써
for문으로 배열을 쉽게 다룰 수 있다.
'CS > C언어' 카테고리의 다른 글
조건문 - 바로 실행해보면서 배우는 C언어 (0) 2019.12.29 이중 반복문(실습) - 바로 실행해보면서 배우는 C언어 (0) 2019.12.28 연산자와 수식 - 바로 실행해보면서 배우는 C언어 (0) 2019.12.23 문자열 - 바로 실행해보면서 배우는 C언어 (0) 2019.12.22 반복문 - 바로 실행해보면서 배우는 C언어 (0) 2019.12.21