Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

문타쿠, 공부하다.

[C언어 코딩 도장] Unit 36. 배열 사용하기 본문

C언어/C언어 코딩 도장

[C언어 코딩 도장] Unit 36. 배열 사용하기

개발새발 문타쿠 2023. 9. 10. 20:56

36.1 배열을 선언하고 요소에 접근하기

#include <stdio.h>

int main(void)
{
    int numArr[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 };
    
    printf("%d\n", numArr[0]);
    printf("%d\n", numArr[5]);
    printf("%d\n", numArr[9]);

    return 0;
}
// 배열 선언 시 값을 초기화한다면 배역의 크기 생략 가능
int numArr1[] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 };

// 컴파일 에러
int numArr2[];

36.2 배열을 0으로 초기화하기

"배열의 모든 요소를 간단하게 0으로 초기화하기"

#include <stdio.h>

int main(void)
{
    int numArr[10] = { 0, };
    
    printf("%d\n", numArr[0]);
    printf("%d\n", numArr[5]);
    printf("%d\n", numArr[9]);

    return 0;
}

36.3 배열의 요소에 값 할당하기

#include <stdio.h>

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

    numArr[0] = 11;
    numArr[1] = 22;
    numArr[2] = 33;
    numArr[3] = 44;
    numArr[4] = 55;
    numArr[5] = 66;
    numArr[6] = 77;
    numArr[7] = 88;
    numArr[8] = 99;
    numArr[9] = 110;

    printf("%d\n", numArr[0]);
    printf("%d\n", numArr[5]);
    printf("%d\n", numArr[9]);

    return 0;
}

36.4 배열의 크기 구하기

#include <stdio.h>

int main(void)
{
    int numArr[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 };

    // int형 4바이트 요소가 10개 = 40
    printf("%zd\n", sizeof(numArr));

    // 배열의 크기: 40 / 4 = 10
    printf("%zd\n", sizeof(numArr) / sizeof(int));

    return 0;
}

36.5 반복문으로 배열의 요소를 모두 출력하기

"반복문으로 배열의 요소를 모두 출력하기"

#include <stdio.h>

int main(void)
{
    int numArr[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 };

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

    return 0;
}

"반복문으로 배열의 요소를 역으로 출력하기"

#include <stdio.h>

int main(void)
{
    int numArr[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 };

    for (int i = sizeof(numArr) / sizeof(int) - 1; i >= 0; i--)
    {
        printf("%d\n", numArr[i]);
    }

    return 0;
}

36.6 배열의 요소 합계 구하기

#include <stdio.h>

int main(void)
{
    int numArr[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 };
    int sum = 0;

    for (int i = 0; i < sizeof(numArr) / sizeof(int); i++)
    {
        sum += numArr[i];
    }

    printf("%d\n", sum);

    return 0;
}

36.7 배열의 요소에 저장된 값을 두 배로 만들기

#include <stdio.h>

int main(void)
{
    int numArr[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 };

    for (int i = 0; i < sizeof(numArr) / sizeof(int); i++)
    {
        numArr[i] *= 2;
        printf("%d\n", numArr[i]);
    }

    return 0;
}

36.8 배열을 포인터에 넣기

#include <stdio.h>

int main(void)
{
    int numArr[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 };

    int* numPtr = numArr;

    printf("%p\n", numPtr);
    printf("%p\n", numArr);
    printf("%p\n", &numPtr[0]);
    printf("%p\n\n", &numArr[0]);

    printf("%d\n", *numPtr);
    printf("%d\n", *numArr);
    printf("%d\n", numPtr[0]);
    printf("%d\n\n", numArr[0]);

    printf("%zd\n", sizeof(numArr));
    printf("%zd\n", sizeof(numPtr));

    return 0;
}


36.9 배열을 활용하여 10진수를 2진수로 변환하기

#include <stdio.h>

int main(void)
{
    int decimal = 13;
    int binary[20] = { 0, };

    int position = 0;
    while (1)
    {
        binary[position] = decimal % 2;
        decimal = decimal / 2;

        position++;

        if (decimal == 0)
            break;
    }

    for (int i = position - 1; i >= 0; i--)
    {
        printf("%d", binary[i]);
    }

    return 0;
}