8장 배열의 기본문법

JongseokLee·2021년 7월 31일
0

C 프로그래밍 기초

목록 보기
8/15
post-thumbnail

8장 배열의 기본문법

1. 배열 이해하기

1) 배열이란?

  • 동일한 자료형 여러개를 묶어서 처리하는 자료 구조
  • 변수이름과 인덱스(index)를 이용하여 데이터를 표현

2) 배열의 필요성

  • 동일한 자료형 여러 개를 선언하는 경우 변수가 여러 개 필요
  • 배열을 이용하면 하나의 변수만 필요하여 효율적인 프로그래밍 가능

3) 배열의 크기 지정

  • 정수(양수)값을 가지는 변수 또는 상수로 지정
  • #define문의 상수를 이용하여 지정
  • 한번 만들어진 배열의 크기는 변경할 수 없음

2. 배열 활용하기

1) 배열과 반복문의 관계

  • 배열의 인덱스값은 0부터 순차적으로 증가함
  • 반복문을 이용하면 인덱스값을 순차적으로 증가할 수 있음

2) 배열과 문자열의 관계

  • 배열은 문자열을 저장할 수 있음
  • 문자열 마지막에 널(Null) 문자('\0')가 자동으로 대입됨
    • 문자열의 크기 = 문자의 개수 + 1
    • 널문자는 문자열의 마지막을 표시함

3) 문자형 배열 출력하기

  • 문자형 배열이름을 대표로 사용함(인덱스 사용 안함)
  • 형식문자 %s사용
  • 배열의 크기보다 큰 문자열은 깨짐

4) 문자형 배열에 문자열 입력 받기

  • 문자형 배열 이름을 대표로 사용함(인덱스 사용 안함)
  • 문자열 배열 이름 앞에 & 기호를 사용하지 않음
  • 형식문자 %s 사용

3. 다차원 배열 이해하기

1) 다차원 배열이란?

  • 2차원 배열 이상
  • 종류
    • 1차원 배열 : 행 1개, 열 N개
    • 2차원 배열 : 행 N개, 열 N개 (1차원 배열이 N개)
    • 3차원 배열 : 층 N개, 행 N개, 열 N개(2차원 배열이 N개)

2) 2차원 배열의 선언과 초기값

  • 행과 열의 크기 지정, 행과 열의 인덱스를 이용하여 초기값 지정

4. 단원 실습

1) 4행*3열의 2차원 배열을 선언하기
2) 2차원 배열의 값을 키보드로 입력받기
3) 행과 열의 개수만큼의 1차원 배열을 만들어 행과 열의 합계를 계산
4) 2차원 배열과 행과 열의 합계 배열을 출력


#include <stdio.h>

#define ROW 4

#define COL 3

int main()

{

    int arr[ROW][COL];

    int rowSum[ROW] = {0,0,0,0};

    int colSum[COL] = {0,0,0};


    // 배열 입력받기

    for (int row = 0; row < ROW; row++) {

        for (int col = 0; col < COL; col++) {

            printf("[%d][%d] = ", row, col);

            scanf_s("%d", &arr[row][col]);

        }

    }

    // 행과 열 합계 구하기

    for (int row = 0; row < ROW; row++) {

        for (int col = 0; col < COL; col++) {

            rowSum[row] += arr[row][col];   // 행 합계

            colSum[col] += arr[row][col];     // 열 합계

        }

    }


    // 출력하기


    for (int row = 0; row < ROW; row++) {

        for (int col = 0; col < COL; col++) {

            printf("%4d", arr[row][col]);

        }

        printf(" = %4d\n", rowSum[row]);

    }

    // 열 합계 출력

    for (int col = 0; col < COL; col++) {

        printf("%4d", colSum[col]);

    }

}

<Result>

[0][0] = 1
[0][1] = 2
[0][2] = 3
[1][0] = 4
[1][1] = 5
[1][2] = 6
[2][0] = 7
[2][1] = 8
[2][2] = 9
[3][0] = 10
[3][1] = 11
[3][2] = 12
   1   2   3  =   6
   4   5   6  =  15
   7   8   9  =  24
 10  11  12 =  33
 22  26  30
profile
DataEngineer Lee.

0개의 댓글