C 기본 문법 – 배열 – 0 – 1차원 배열

C 기본 문법 – 배열 – 0편: 1차원 배열 완전 정복

안녕하세요, 코딩 여정을 함께하고 있는 여러분 😊
오늘부터는 자료를 모아두고 효율적으로 관리하는 멋진 도구!
바로 **배열(array)**에 대해 배워볼 거예요!

그 중에서도 이번 편에서는 가장 기본이 되는 1차원 배열을 집중적으로 파헤쳐보겠습니다.

🧠 배열이란 마치 “서랍장” 같아요.
서랍을 하나씩 번호(index)를 붙여놓고, 그 안에 값을 넣어두면
필요할 때 쉽게 찾아서 꺼내 쓸 수 있는 구조랍니다!

지금부터 배열의 개념, 선언 방법, 활용법, 주의점까지
예제와 함께 친근하고 쉽게 설명드릴게요! 😄


배열이란?

같은 타입의 변수들을 연속된 메모리 공간에 저장하는 자료구조입니다.

  • 정수 여러 개, 실수 여러 개, 문자 여러 개 등을 한 번에 저장 가능!
  • 각 요소는 인덱스(index)를 통해 접근합니다.
  • 인덱스는 항상 0부터 시작합니다.

1. 1차원 배열 선언과 초기화

선언 방법

자료형 배열이름[크기];

예시:

int scores[5]; // 정수 5개 저장 공간

🎯 이건 “5칸짜리 정수형 서랍장”을 만든 거예요.


선언과 동시에 초기화

int scores[5] = {90, 80, 70, 60, 50};

각 인덱스에 차례대로 값이 들어가요:

  • scores[0] = 90
  • scores[1] = 80
  • scores[2] = 70
  • scores[3] = 60
  • scores[4] = 50

크기를 생략하고 초기화

int scores[] = {100, 90, 80};

초기값의 개수에 따라 자동으로 크기가 결정돼요. 이 경우 scores[3]까지!


2. 배열 요소 접근하기

배열의 각 값은 인덱스를 이용해 접근합니다.

printf("%d
", scores[2]);  // 3번째 값 출력

배열에 값 넣기

scores[0] = 95;
scores[4] = 70;

📌 인덱스를 통해 값을 수정할 수도 있어요!


3. 배열과 반복문은 천생연분!

예제: 배열 출력

for (int i = 0; i < 5; i++) {
    printf("scores[%d] = %d
", i, scores[i]);
}

🎯 for문과 배열은 짝꿍이에요!
데이터를 일괄적으로 처리할 때 매우 편리하답니다.


4. 배열의 총합과 평균 구하기

int scores[5] = {85, 90, 78, 92, 88};
int sum = 0;

for (int i = 0; i < 5; i++) {
    sum += scores[i];
}

float avg = sum / 5.0;
printf("총합: %d, 평균: %.2f
", sum, avg);

💡 실전에서 자주 쓰이는 패턴이에요!


5. 배열 초기화의 다양한 형태

전부 0으로 초기화

int data[10] = {0};  // 나머지는 자동으로 0

특정 값 반복 입력은 반복문 사용!

for (int i = 0; i < 10; i++) {
    data[i] = 7; // 모든 요소를 7로 채움
}

6. 문자 배열 (문자열)

문자도 배열로 저장 가능해요.
이때는 '문자'가 아닌 "문자열"을 사용합니다.

char name[6] = "Hello";  // 마지막에 \0(널 문자) 자동 포함

char name[6] = {'H', 'e', 'l', 'l', 'o', '\0'}와 동일!


7. 배열 크기 상수화

배열의 크기를 상수로 정의하면 유지보수가 쉬워요!

#define SIZE 5
int scores[SIZE];

🎯 크기를 바꾸고 싶을 땐 #define만 수정하면 되죠!


8. 배열과 scanf 사용하기

사용자에게 입력받아 배열에 저장할 수 있어요!

int arr[5];
for (int i = 0; i < 5; i++) {
    printf("%d번째 정수 입력: ", i+1);
    scanf("%d", &arr[i]);
}

✅ 1차원 배열 요약 정리

항목 설명
선언 방법 int arr[5];
인덱스 범위 0 ~ (크기 – 1)
초기화 방법 {값1, 값2, ...}
반복문과 사용 for와 함께 일괄 처리
배열과 함수 배열은 포인터로 전달됨 (심화에서 다룸)

⚠️ 1차원 배열 사용 시 주의할 점

주의사항 설명
인덱스 범위 초과 금지 arr[5]처럼 범위를 벗어나면 메모리 오류 발생
초기화 개수 mismatch 주의 {10, 20}인데 크기는 [5]이면 나머지는 0
배열 크기 유동적 변경 불가 C에서는 런타임 배열 크기 조절이 불가 (고정 크기)
문자열은 ‘\0’ 필요 마지막에 널 문자가 있어야 문자열로 인식 가능

마무리하며 💬

1차원 배열은 많은 데이터를 다루기 위한 가장 기본적인 도구입니다.
실전에서 수많은 상황에서 등장하는 만큼,
반복문과 함께 자유자재로 활용할 수 있어야 한 단계 업그레이드 된 개발자가 될 수 있어요!

🎯 “변수는 한 개, 배열은 백 명을 위한 단체방!”
반복적 데이터는 배열로 정리해서 스마트하게 관리해보세요!

다음 시간에는 2차원 배열을 통해 표 형식의 데이터도
쉽게 다룰 수 있는 방법을 배워보겠습니다 😄

오늘도 끝까지 함께해주셔서 감사합니다!
꾸준함이 곧 실력입니다 💻✨

답글 남기기