C언어_배열

P4·2023년 5월 2일
0

C언어 기초

목록 보기
15/23
post-thumbnail

배열

  • 어레이의 크기를 지정 후 값을 삽입, 또는 바로 삽입

  • 어레이의 크기는 변수에 담아서 사용할 수 없음

  • 배열을 전역에서 선언하면 값은 자동으로 0으로 초기화 됨


예제코드

#include <stdio.h>

int main(void)
{
    int array1[3]; // 어레이의 크기를 먼저 지정해 줌
    array1[0] = 30;
    array1[1] = 40;
    array1[2] = 50; // 이렇게 넣거나 또는 아래처럼 넣을 수도 있음

    int arr[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

    int arr2[] = {1, 2}; // 이렇게 선언도 가능, 이 경우에는 요소개수를 알아서 세서 arr2[2]로 들어감

    /* 만약 배열의 사이즈를 고정하고 싶어
    size = 10;
    int arr[size]; 이런식으로 사용하고 싶어도 사용할 수 없음
    무조건 숫자형태로 넣어줘야 함 */

    /* int arr[10];
    이런식으로 배열의 값을 초기화 안하고 배열만 선언한 뒤 출력하면
    배열의 요소들은 -81531513 이런식으로 이상한 더미값으로 채워짐 */

    /* 하지만 int arr[10] = {1, 2};
     이런식으로 값을 한개라도 채워넣는 순간 채워넣은 값 이외의 값은 전부 0으로 자동 초기화 됨*/

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

    return 0;
}

예제코드 2 (배열의 선언 위치에 따른 값)

  • 전역에서 선언한 arr의 값은 전부 0이지만

  • 함수 내에서 선언한 arr2의 값은 전부 더미값이 나오는 것을 알 수 있다

#include <stdio.h> // standard input/output 이라는 뜻

int arr[10];

int main(void)
{
    int arr2[10];

    for (int i = 0; i < 10; i++)
        printf("%d", arr[i]);

    printf("\n");

    for (int i = 0; i < 10; i++)
        printf("%d ", arr2[i]);
}
profile
지식을 담습니다.

0개의 댓글