글
이번에는, 배열의 내용을 다른 배열로 한번에 복사하는 예제를 보여드리겠습니다.
#include <stdio.h> #include <memory.h> // or #include <string.h> #define ARR_SIZE 10 int main(int argc, char* argv[]){ int dstArr[ARR_SIZE]; int srcArr[ARR_SIZE] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int i; memcpy(dstArr, srcArr, sizeof(srcArr)); // or memcpy(dstArr, srcArr, sizeof(int) * ARR_SIZE); for (i = 0; i < ARR_SIZE; i++){ printf("%d ", dstArr[i]); } printf("\n"); return 0; }
2 라인
memcpy 함수를 사용하기 위해서는, memory.h 혹은 string.h 를 include 하면 됩니다.
4 라인
배열 요소의 개수를 상수화합니다.
7 라인
복사할 목적지가 되는 배열을 선언합니다.
8 라인
복사할 대상이 되는 배열을 선언하고, 1 부터 10 까지의 정수로 초기화합니다.
10 라인
memcpy 함수를 이용하여, srcArr 의 배열의 시작 주소부터 시작해서, 이 배열의 전체 크기만큼 모두 한번에, 요소 값들을 dstArr 배열로 복사합니다.
11 ~ 14 라인
복사된 결과를 출력합니다.
[실행 결과]
(memcpy 함수 설명 참고)
https://msdn.microsoft.com/en-us/library/aa246468(v=vs.60).aspx
'1.1) 실습' 카테고리의 다른 글
1 초에 한 번씩 데이터 출력하기 (0) | 2015.06.08 |
---|---|
프로그램 강제로 종료시키기 (0) | 2015.06.08 |
콘솔 화면 지우기 (6) | 2015.06.08 |
소리 및 음악 재생하기 (1) - WinApi (4) | 2015.05.25 |
의사 난수 (랜덤 숫자) 생성하기 (0) | 2015.05.17 |
변수를 특정 값으로 초기화하기 (or 배열을 특정 값으로 한번에 초기화하기) (0) | 2015.05.17 |
현재 틱 카운트 (TickCount) 를 이용하여 시간 재기 (0) | 2015.05.17 |
화면 출력 (에코) 없이 키보드 입력 값 가져오기 (2) | 2015.05.17 |
비동기적으로 사용자 입력이 있는지 확인하기 (0) | 2015.05.05 |
콘솔 글자 색 변경하기 (4) | 2015.04.10 |
RECENT COMMENT