Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C언어 배열의 특징과 주요 연산 총정리

배열(Array)은 하나의 변수 이름 아래에 동일한 자료형의 데이터 항목들을 순차적으로 저장하는 자료 구조입니다.

예를 들어, 다음과 같이 선언할 수 있습니다.

int student[30];

위 코드에서 student는 배열 이름이며, 단 하나의 변수 이름으로 30개의 데이터 항목을 담을 수 있습니다.

배열의 특징

C언어에서 배열이 가지는 주요 특징은 다음과 같습니다.

  • 배열은 항상 연속된 메모리 공간에 저장됩니다.
  • 같은 자료형의 여러 값을 저장할 수 있으며, 하나의 이름으로 참조할 수 있습니다.
  • 포인터는 배열 이름에 할당된 메모리 블록의 첫 번째 위치를 가리킵니다.
  • 배열은 정수(int), 문자(char), 실수(float) 등의 자료형을 가질 수 있으며, 선언 시에만 초기화할 수 있습니다.
  • 배열의 특정 요소는 다른 요소들에 영향을 주지 않고 개별적으로 수정할 수 있습니다.
  • 모든 배열 요소는 인덱스 번호를 통해 서로 구분됩니다.

배열의 주요 연산

배열에서 수행할 수 있는 대표적인 연산은 다음과 같습니다.

  • 탐색(Searching) — 배열 안에 특정 요소가 존재하는지 확인하는 연산입니다.
  • 정렬(Sorting) — 배열의 요소들을 오름차순 또는 내림차순으로 정렬하는 연산입니다.
  • 순회(Traversing) — 배열의 모든 요소를 순서대로 처리하는 연산입니다.
  • 삽입(Inserting) — 배열에 새로운 요소를 추가하는 연산입니다.
  • 삭제(Deleting) — 배열에서 기존 요소를 제거하는 연산입니다.

예제 프로그램

다음은 배열에서 특정 요소를 탐색하는 C 프로그램입니다.

#include <stdio.h>
#define MAX 100 // 최대 배열 크기
int main(){
    int array[MAX];
    int size, i, search, found;
    printf("Enter size of array: ");
    scanf("%d", &size);
    printf("Enter elements in array: ");
    for(i=0; i<size; i++){
        scanf("%d", &array[i]);
    }
    printf("\nEnter element to search: ");
    scanf("%d", &search);
    found = 0;
    for(i=0; i<size; i++){
        if(array[i] == search){
            found = 1;
            break;
        }
    }
    if(found == 1){
        printf("\n%d is found at position %d", search, i + 1);
    } else {
        printf("\n%d is not found in the array", search);
    }
    return 0;
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Enter size of array: 5
Enter elements in array: 11 24 13 12 45
Enter element to search: 13
13 found at position 3

이 프로그램은 사용자로부터 배열의 크기와 요소들을 입력받은 후, 찾고자 하는 값이 배열에 있는지 선형 탐색(Linear Search) 방식으로 확인합니다. 값이 발견되면 해당 위치를 출력하고, 없으면 "찾을 수 없다"는 메시지를 출력합니다.