관리 메뉴

hye-_

배열의 개념 본문

CS/C언어1

배열의 개념

hyehh 2024. 7. 10. 11:56
728x90
반응형
SMALL

 

728x90
반응형
SMALL

배열 (Array)

많은 값을 한꺼번에 저장할 수 있는 저장 장소 

○ 동일한 타입의 데이터가 여러 개 저장되는 저장 장소

○ 같은 종류의 대량의 데이터를 효율적이고 간편하게 처리하는 방법

 

변수 (Variable)

오직 하나의 값만 저장할 수 있음

 

배열의 필요성

예) 10명 학생의 점수를 저장하기


배열 요소(array element) 또는 배열 원소

배열을 구성하는 각 항목

 

인덱스(index), 첨자(subscript)

배열 요소의 번호

 

배열의 크기

예 ) 

 

배열의 특징

○ 메모리의 연속적인 공간에 저장됨

○ 서로 관련된 데이터를 차례로 접근하기 쉬움

○ 배열을 사용하려면 먼저 배열을 선언해야 함


배열의 선언

 

자료형 : 배열 원소들의 타입

배열 이름 : scores

배열 크기 : 배열 원소 개수 10개

인덱스(배열 번호)는 항상 0부터 시작, 0~(배열크기-1)

 

 

배열 선언 시 주의사항

○ 배열 크기는 반드시 지정해야 함

○ 배열 크기는 항상 상수 이어야 함

○ 배열 크기로 사용할 수 없는 경우 : 변수, 음수, 0, 실수


#define 사용

기호 상수로 배열 크기 지정

배열 선언 시 배열의 크기를 기호 상수로 지정하면 수정이 쉬움


배열 접근

 


잘못된 인덱스 문제

인덱스가 배열의 크기를 벗어나게 되면 프로그램에 치명적인 오류를 발생시킴

C에서는 인덱스가 범위를 벗어나지 않았는지를 프로그래머는 확인하고 책임을 져야 함


배열의 가장 큰 장점

반복문을 사용하여 배열의 원소를 간편하게 처리할 수 있다는 점


배열의 초기화

원소들의 초기값을 콤마로 분리

○ 중괄호 사용

○ 순서대로 대입 

 

주의사항

초기값의 개수가 배열 크기 보다 큰 경우는 오류

 

초기값의 개수가 배열의 크기보다 작으면

앞에 있는 요소들만 초기화 됨

나머지 배열 요소들은 모두 0으로 초기화 됨

 

배열의 모든 요소를 0으로 초기화

 

 

배열의 크기 없이 초기값만 있는 경우

컴파일러가 자동으로 초기값들의 개수만큼 배열의 크기를 잡음 

 


배열 요소의 개수 계산 


배열의 복사

배열의 요소를 하나씩 복사함

score1과 score2임.

 

int score1[SIZE];

int sore2[SIZE];

int i;

 

for (i=0; i< SIZE; i++)

      score1[i] = score2[i]

 

score2에 있는것을 score1에 넣겠다라는 의미이다. 


배열의 비교

배열 내용 전체를 다른 배열 내용 전체와 같은지 비교 

 

원소를 하나씩 비교할 것


배열을 함수로 전달할 경우

배열의 원본이 매개변수를 통해서 전달됨


배열 요소를 함수로 전달할 경우

원본이 아닌 복사본이 전달됨


배열 원본 변경 금지

const 키워드 사용

배열이 함수의 매개 변수로 전달되는 경우 함수 안에서 배열 요소들의 값을 변경할 수 없도록 할 수 있음


정렬 (Sorting)

크기순으로 나열하는 것

컴퓨터 공학분야에서 가장 기본적이고 중요한 알고리즘 중의 하나

 

자료 탐색에 있어서 필수적

오름차순(Ascending order)/ 내림차순(Descending order)


swap 알고리즘

두 변수의 값을 서로 교환할 때

왼쪽은 잘못된 예, 오른쪽이 올바른 예

 

728x90
반응형
LIST

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

문자와 문자열  (1) 2024.07.10
포인터, 간접 참조 연산자  (0) 2024.07.10
함수의 생존 시간  (0) 2024.07.10
함수와 기억 클래스  (0) 2024.07.10
함수 호출  (0) 2024.07.08