목차
1. 배열이란? array
많은 변수를 빈틈없이 일직선 상에 나열한 구조이다.
다시 말해 여러 값을 한꺼번에 저장할 수 있는 데이터저장 장소이다.
배열을 이용하면 보다 손쉽게 대량의 데이터를 저장할 수 있는 공간을 만들고, 데이터들을 손쉽게 처리할 수 있다.
2. 선언
자료형 배열명 배열크기 ;
int scores [10] ;
1) 자료형 지정
- 원칙: 한 배열 안의 각각의 데이터는 같은 종류(자료형)여야 한다.
- 배열은 데이터 타입이 동일한 변수를 늘어 놓은 것이므로, 배열 자체에도 데이터 타입이 있다.
2) 배열명
배열의 이름을 적는다. 배열명이라고도 한다. 다른 변수 및 배열과 구분되도록 고유의 이름을 붙인다.
배열의 이름을 만들 때도 규칙이 있다. 배열명은 고유해야 하며, 숫자로 시작할 수 없다.
배열의 이름을 지을 때는, 배열 안의 내용을 대표할 수 있는 것이 좋다.
3) 배열크기
가. 배열 요소 array element
- 배열에서 데이터 각각을 배열요소라고 부른다.
- 배열에 존재하는 데이터의 수가 배열요소 수이다.
나. 인덱스 index
- 배열 안의 데이터들은 번호에 의하여 식별되며, 이 번호가 인덱스이다.
- 배열명[인덱스]로 해당 배열요소에 접근한다.
다. 정수 상수 사용
-배열의 크기를 나타낼 때는 항상 정수 상수를 사용한다.
라. #define 변수 크기
보통 배열을 선언할 때는 배열의 크기를 #define 지시자로 만들어진 기호 상수를 사용한다.
배열명 [인덱스]
scores [0]
3. n차원 배열
지금까지 보았던, 일직선에서 나열한 사물함의 모습을 한 배열을 1차원 배열이라고 한다.
데이터를 가로세로 빈틈없이 꽉 찬 직사각형 모습으로 나열한 배열은 2차원 배열이다.
높이를 추가하여 직육면체 모습을 한 배열은 3차원 배열이다.
그 외에도 n차원 배열이 이다.
배열의 각 요소는 인덱스 번호로 나타낸다.
배열명[행 요소 번호][열 요소 번호]
ex) array[3][2]
4. 문자열
문자열은 각 요소에 문자가 저장된 문자 배열이다.
5. 연습문제
5-1 배열 요소 출력하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 6
int main(void)
{
int i;
int scores[SIZE];
scores[0] = 20;
scores[1] = 30;
scores[2] = 50;
scores[3] = 70;
scores[4] = 90;
scores[5] = 20;
for (i = 0; i < SIZE; i++)
printf("scores[%d]=%d\n", i, scores[i]);
return 0;
}
5-2 a~z까지의 문자 저장하고 있는 배열 생성하고, 데이터 꺼내기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 26
int main(void)
{
int i;
char codes[SIZE];
for (i = 0; i < SIZE; i++)
codes[i] = 'a' + i;
for(i = 0; i < SIZE; i++)
printf("codes[%d]=%c\n", i, codes[i]);
return 0;
}
>> a 다음의 수는 b이기 때문에 'a' +1='b'이다.
5-3 성적 입력받아서 합계와 평균 구하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 5
int main(void)
{
int i, score, sum;
int scores[SIZE];
double average;
sum =average= 0;
for (i = 0; i < SIZE; i++) {
printf("성적을 입력하세요\n");
scanf("%d", &score);
scores[i] = score;
}
for (i = 0; i < SIZE; i++) {
sum = sum + scores[i];
average = sum / SIZE;
}
printf("%d, %lf\n", sum, average);
return 0;
}
'C언어 > 참고서: C언어 콘서트' 카테고리의 다른 글
C언어 31차시 배열 기초문제 1 (0) | 2023.03.28 |
---|---|
C언어 30차시 배열의 초기화, sizeof 연산자 (0) | 2023.03.28 |
C언어 28차시 반복문 연습문제 3 (0) | 2023.03.27 |
C언어 27차시 반복문 연습문제 3 (0) | 2023.03.27 |
C언어 27차시 반복문 연습문제 2, 원의 방정식, (0) | 2023.03.27 |