ABOUT ME

https://github.com/chongin12 chongin12@naver.com

Today
Yesterday
Total
  • (C언어)3. 배열
    C언어 문서화 2016. 3. 22. 21:51
    반응형

    [배열]

     

    1. 배열은 왜 쓰는 것일까?

    이렇게 가정해 보자. 한 학생의 국어, 수학, 사회, 과학, 영어, 역사 등의 시험점수를 저장하고 싶다. 그렇다면 각 과목마다의 점수(변수)를 하나씩 하나씩 저장(선언)해야 한다.

    int student1_korean=90, student1_math=91, student1_social=92, student1_science=93, student1_english=94, student1_history=95;

    이런 식으로 선언해야한다. 하지만 배열을 쓰게 된다면 얘기는 달라진다.

    int student1[6]={90, 91, 92, 93, 94, 95};

    간단하고 한눈에 알아보기가 쉬워졌다.

     

    이처럼 배열은 동일한 데이터 형의 변수들을 한 곳에 나열시켜 놓은 것이라고 생각하면 된다.

     

    2. 1차원 배열

    (1) 배열 선언 방법

    배열은 이렇게 선언한다 :

    [데이터 형] [변수 명][[배열의 크기]]={초기화 값들, ...};

    <1 : 데이터 형 : int, char, 등등...

    <2 : 변수 명 : student1, total, 등등...

    <3 : 배열의 크기 : 정수를 입력하거나 입력하지 않는다.

    TIP:배열의 크기를 3으로 잡았으면 메모리에 변수[0], 변수[1], 변수[2], 변수[3]가 생성된다. 여기서 우리가 쓸 수 있는 공간은 변수[0], 변수[1], 변수[2]이다. 변수[3]에는 \0, NULL문자가 들어간다.(NULL문자는 쉽게 말해 배열의 마침표 역할을 한다고 보면 된다.)

    <4 : 초기화 값들 : 변수[0]부터 차례대로 값을 초기화한다.

    TIP:[초기화 값들]란에 {0,}을 넣으면 모든 값들이 0으로 초기화된다.


    (2) 배열 안으로 값을 입력하는 방법

    배열 안에 값을 저장하고 싶으면 이렇게 하면 된다 :

     

    <1 : 숫자 0부터 10까지 num[11]에 저장

    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
    int main(){
        int num[11], i;
        for(i=0; i<=10++i){
            num[i]=i;
        }
    }
    cs

    <2 : 알파벳(문자) a부터 f까지 array에 저장

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <stdio.h>
     
    int main(){
        char array[6], i;
        int j=0;
        for(i='a'; i<='f'++i){
            array[j]=i;
            ++j;
        }
        for(j=0; j<6++j){
            printf("%c", array[j]);
        }
    }
     
    cs

    (3)일차원 배열 정리


    3. 2차원 배열

    (1) 배열 선언 방법

    2차원 배열부터는 이 원칙을 알고 가야 한다.

    첫 번째 []에는 행(row)(가로줄)를,

    두 번째 []에는 열(column)(세로줄)을 써준다.

    2차원 배열의 선언은 다음과 같이 한다 : 

    [데이터 형] [변수명][행의 개수][열의 개수]={{첫번째 행의 열들,...}, {두 번째 행의 열들...}, ...}

    <1: 데이터 형 : int, char, ...

    <2: 변수명 : chart, sum,...

    <3: 행의 개수 : 자연수로 입력

    <4: 열의 개수 : 자연수로 입력

    <5: 초기화 값들 : 2차원 배열의 초기화 값들

    TIP : int 변수명[2][3]={{0, 1, 2},{3, 4, 5}};

          int 변수명[3][2]={{0,1},{2,3},{4,5}};


    (2) 배열 안으로 값을 입력하는 방법

     <1: 숫자 1부터 6까지

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    include <stdio.h>
     
    int main(){
        int chart[2][3], i, j, num=1;
     
        for(i=0; i<2++i){
            for(j=0; j<3++j){
                chart[i][j]=num;
                ++num;
            }
        }
        for (i = 0; i < 2++i) {
            for (j = 0; j<3++j) {
                printf("%d", chart[i][j]);
            }
        }
        return 0;
    }
    cs

    결과 : 123456 

    <2: 알파벳 a부터 f까지
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #include <stdio.h>
     
    int main(){
        int  i, j;
        char chart[2][3], alpha='a';
     
        for(i=0; i<2++i){
            for(j=0; j<3++j){
                chart[i][j]=alpha;
                ++alpha;
            }
        }
        for (i = 0; i < 2++i) {
            for (j = 0; j<3++j) {
                printf("%c", chart[i][j]);
            }
        }
        return 0;
    }
    cs


    (결과는 abcdef이다.)


    (3) 이차원 배열 정리


    반응형

    'C언어 문서화' 카테고리의 다른 글

    (C언어) 6. 이진탐색  (0) 2016.03.25
    (C언어) 5. 문자열  (0) 2016.03.22
    (C언어) 4. 아스키코드  (0) 2016.03.22
    (c언어) 2. 제어문  (0) 2016.03.06
    (c언어)1. 변수  (0) 2016.03.06

    댓글

Designed by Tistory.