더북(TheBook)

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 반복문을 이용하여 각각의 배열 요소를 복사해야 합니다.

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