1차원 배열은 동일한 데이터 타입의 데이터를 하나의 변수에 저장하는 자료구조로, 메모리 공간을 효율적으로 활용할 수 있습니다.
1차원 배열은 선언된 변수에 대해서 인덱스를 이용하여 각각의 요소에 접근할 수 있습니다. 예를 들어, 다음과 같은 방식으로 정수형 배열을 선언할 수 있습니다.
int arr[5]; //크기 5의 정수형 배열 선언
위의 코드에서 arr은 배열의 이름이며, 5는 배열의 크기를 나타냅니다. 배열의 인덱스는 0부터 시작하며, 다음과 같은 방식으로 각 요소에 접근할 수 있습니다.
arr[0] = 10; // 첫 번째 요소에 10 저장
arr[1] = 20; // 두 번째 요소에 20 저장
arr[2] = arr[0] + arr[1]; // 세 번째 요소에 첫 번째와 두 번째 요소를 더한 값을 저장
배열의 크기는 선언 시에 고정되기 때문에, 동적으로 크기를 변경할 수 없습니다. 만약 크기를 변경해야 하는 경우에는 동적 메모리 할당을 사용해야 합니다.
1차원 배열은 반복문과 함께 사용되어 효율적인 프로그래밍이 가능합니다. 예를 들어, 다음과 같은 방식으로 배열의 모든 요소를 출력할 수 있습니다.
for(int i=0; i<5; i++){
printf("%d ", arr[i]);
}
위의 코드에서 i는 반복문의 변수이며, 0부터 4까지 반복하면서 arr 배열의 각 요소를 출력합니다.
배열은 여러 가지 용도로 사용될 수 있습니다. 예를 들어, 사용자로부터 입력받은 값을 배열에 저장하고, 그 값들을 이용하여 계산하는 경우가 있습니다. 또한, 여러 개의 데이터 중에서 최댓값이나 최솟값을 찾을 때도 배열을 활용할 수 있습니다.
1차원 배열은 데이터를 일련번호로 관리해야하는 경우에 유용합니다. 예를 들어, 학생들의 성적을 저장할 때 배열을 사용할 수 있습니다. 또한, 여러 개의 데이터 중에서 최댓값이나 최솟값을 찾을 때도 배열을 활용할 수 있습니다.
다음은 학생들의 성적을 저장하고 평균을 계산하는 예제 코드입니다.
#include <stdio.h>
int main() {
int scores[5] = {90, 80, 70, 85, 95};
int sum = 0;
float avg = 0.0;
for(int i=0; i<5; i++){
sum += scores[i];
}
avg = (float)sum/5;
printf("평균 성적은 %.2f입니다.", avg);
return 0;
}
위의 코드에서 scores 배열은 학생들의 성적을 저장하고, for 반복문과 함께 사용되어 모든 성적의 합을 계산합니다. 그리고 sum 변수를 이용하여 합을 저장한 후, 평균을 계산하여 avg 변수에 저장합니다. 마지막으로 printf 함수를 사용하여 평균 성적을 출력합니다.
1차원 배열은 여러 가지 용도로 사용될 수 있기 때문에, 프로그래밍에서 자주 사용되는 자료구조 중 하나입니다.