array_copy1.c

    #include <stdio.h>
     
    main() {
        int a[5] = { 1, 2, 3, 4, 5 };  // 배열 a를 선언과 동시에 초기화 
        int b[5];  // 배열 b 선언
        int i;
        
        b = a;     // 배열 간에 대입 연산자 사용
     
        for (i = 0; i < 5; i++) {
            printf("a[%d] = %d  b[%d] = %d\n", i, a[i], i, b[i]);
        }
    }

    그림 7-13 | 오류 발생!

     

    정상적으로 수행될 것이라 예상했는데 결과는 오류가 발생했네요. 오류의 원인은 ‘배열은 한 번에 모든 배열 요소의 값을 대입시킬 수 없기 때문’입니다. 배열 변수의 값을 복사하고자 한다면 for 반복문을 이용하여 각각의 배열 요소를 복사해야 합니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.