프로그래밍 언어/C언어

C언어 기초이론 (배열)

chobyeonggyu03 2024. 6. 13. 14:09

배열(Arrangement)이란?

Arrangement라는 뜻으로 번호와 번호에 대응되는 데이터들로 이루어진 자료구조

** 배열(Arrangement)의 특징 **

1) 간단히 말해 둘 이상의 변수를 모아 놓은 것

2) 다수의 데이터들을 저장하고 처리하는 경우에 유용함

3) 반복해서 변수를 선언해야 하는 경우에도 유용함

4) 1차원이 기본이지만 다차원 배열도 존재

5) 선언과 동시에 초기화가 가능함

6) 인덱스 값은 1이 아닌 0부터 시작함

7) 값 입력시 {}(중괄호)를 활용

8) 같은 타입들로 주소들이 연속적으로 구성되어 있음

9) 배열을 다룰 때 길이를 초과하는 인덱스로 접근 시 에러를 잡아내주지 못하기에 조심해야함

 

/*
제목: 배열 연습 11-1
날짜: 2024.03.12.
내용: 배열의 기초적인 사용과 배열의 크기 구하기
*/

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
    int arr1[5] = {1, 2, 3, 4, 5};
    int arr2[7] = {1, 2, 3, 4, 5, 6, 7};
    int arr3[5] = {1, 2, 0, 0, 0};
    int arrLen, arr2Len, arr3Len;

    printf("배열 arr1의 크기: %ld \n", sizeof(arr1));
    printf("배열 arr2의 크기: %ld \n", sizeof(arr2));
    printf("배열 arr3의 크기: %ld \n", sizeof(arr3));

    arrLen = sizeof(arr1) / sizeof(int);
    arr2Len = sizeof(arr2) / sizeof(int);
    arr3Len = sizeof(arr3) / sizeof(int);

    for (int i = 0; i < arrLen; i++) {
        printf("%d ", arr1[i]);
    }
    printf("\n");

    for (int i = 0; i < arr2Len; i++) {
        printf("%d ", arr2[i]);
    }
    printf("\n");

    for (int i = 0; i < arr3Len; i++) {
        printf("%d ", arr3[i]);
    }
    printf("\n");

    return 0;
}

 

 

** 배열 사용방법 **

int FirstArr[4] = { 0, };

(자료형) (배열이름)(배열 공간의 길이) (0으로 모든 값 초기화)

(구성요소 - 자료형, 배열이름, 배열의 공간 길이)

** 배열 공간 접근 방법 **

int FirstArr[2] = 12;

(배열의 2번째 공간에 접근하여 12라는 값을 저장 + [2]에서 2를 인덱스값이라고 부름)

** 배열 사용시 주의사항 **

1) 배열을 선언할 때 배열의 길이 선언시에는 반드시 상수로 지정해야함

2) 배열의 위치 정보를 명시하는 인덱스값은 1이 아니라 0부터 시작됨

** 2차원 배열 공간 접근 방법 **

int FirstArr [2] [3]= 12;

(자료형) (배열이름) (세로) (가로)

(다차원 배열은 포인터와 함께 뒤에서 자세히 다루기)