산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C 배열 마스터: 선언, 초기화, 주요 연산

C 배열 마스터

실전 예제, 모범 사례 팁, 안전 가이드라인과 함께 C 배열을 선언, 초기화, 조작하는 방법을 알아봅니다.

C 배열 마스터: 선언, 초기화, 주요 연산

C에서 배열은 같은 타입의 여러 값을 저장하는 연속된 메모리 블록입니다. 예를 들어 정수 100개를 저장하려면:

int data[100];

배열 선언

다음 문법 사용:

dataType arrayName[arraySize];

예:

float mark[5];

여기서 mark는 다섯 개의 float 값을 저장할 수 있습니다. 선언 후 크기와 타입은 고정됩니다.


요소 접근

배열 인덱스는 0부터 시작. 크기 n 배열의 마지막 요소는 array[n-1]. 예:

mark[0] // 첫 번째 요소
mark[4] // 크기 5일 때 마지막 요소
C 배열 마스터: 선언, 초기화, 주요 연산

핵심 포인트:


배열 초기화

선언 시 초기화:

int mark[5] = {19, 10, 8, 17, 9};

또는 컴파일러가 크기 유추:

int mark[] = {19, 10, 8, 17, 9};

결과 값:

mark[0] = 19
mark[1] = 10
mark[2] = 8
mark[3] = 17
mark[4] = 9
C 배열 마스터: 선언, 초기화, 주요 연산

요소 수정

int mark[5] = {19, 10, 8, 17, 9};
mark[2] = -1; // 세 번째 요소
mark[4] = 0;  // 다섯 번째 요소

입출력

배열 요소에 읽기:

scanf("%d", &mark[2]); // 세 번째 요소
scanf("%d", &mark[i-1]); // i번째 요소 (1-기반)

요소 출력:

printf("%d", mark[0]); // 첫 번째
printf("%d", mark[2]); // 세 번째
printf("%d", mark[i-1]); // i번째

예제 1: 배열 입출력

#include <stdio.h>
int main() {
    int values[5];
    printf("정수 5개 입력: ");
    for (int i = 0; i < 5; ++i) {
        scanf("%d", &values[i]);
    }
    printf("정수 출력:\n");
    for (int i = 0; i < 5; ++i) {
        printf("%d\n", values[i]);
    }
    return 0;
}

출력

정수 5개 입력: 1 -3 34 0 3
정수 출력:
1
-3
34
0
3

예제 2: 평균 계산

#include <stdio.h>
int main() {
    int marks[10], n, sum = 0;
    printf("요소 개수 입력: ");
    scanf("%d", &n);
    for (int i = 0; i < n; ++i) {
        printf("숫자%d 입력: ", i + 1);
        scanf("%d", &marks[i]);
        sum += marks[i];
    }
    int average = sum / n;
    printf("Average = %d", average);
    return 0;
}

출력

요소 개수 입력: 5
숫자1 입력: 45
숫자2 입력: 35
숫자3 입력: 38
숫자4 입력: 31
숫자5 입력: 49
Average = 39

경계 밖 접근 주의

배열이 10개 요소만 있는데 testArray[12] 접근 시 미정의 동작 발생 — 크래시, 데이터 손상, 무소음 오류. 인덱스 접근 전 항상 검증하세요.


다차원 배열

지금까지 1차원 배열을 다뤘습니다. 다음 튜토리얼에서는 다차원 배열(배열의 배열)과 효과적 활용법을 탐구합니다.

C 언어

  1. C# 배열 마스터하기: 선언, 초기화, 조작과 LINQ 연산
  2. C# 가변 배열(Jagged Array): 선언, 초기화, 접근 완전 가이드
  3. C++ 배열을 함수에 전달하는 방법: 실전 가이드
  4. C 언어에서 1차원 및 2차원 배열을 함수에 전달하는 방법 – 실전 가이드
  5. C 언어에서 배열과 포인터의 관계 이해하기
  6. Java 배열 복사 기법: 대입, 루프, System.arraycopy, Arrays.copyOfRange 총정리
  7. C++ 배열 완전 정복: 선언, 초기화, 포인터 기법
  8. C++ 동적 배열 할당 완벽 가이드: new, delete, 실전 코드 예제
  9. Java 배열 튜토리얼: 선언, 생성, 초기화와 예제 코드
  10. MATLAB: 다차원 배열과 특수 배열 마스터하기