Backend/C

memcpy()를 이용한 메모리 카피!

petitCoding 2011. 5. 20. 17:23

1. 함수원형

 

void *memcpy(void *dest, const void *src, size_t n);

 

2. 기능

 

src 번지의 데이터를 dest로 size n 만큼 복사

 

3. 리턴값

 

dest의 포인터

 

4. 예제

 

<소스코드>

 

1 : #include <stdio.h>
2 : #include <stdlib.h>
3 : #include <memory.h>

4 : #define SIZE 500

5 : int main(void){

6 :        int *dest = (int*)malloc(sizeof(int)*SIZE); //메모리 할당
7 :        int *src = (int*)malloc(sizeof(int)*SIZE); //메모리 할당
8 :        int i;
9 :  
10 :      memset(src,69,sizeof(int)*SIZE); //src에 내용 채움
11 :  
    memcpy(dest,src,sizeof(int)*SIZE); //dest로 복사

12 :      for(i=0;i<SIZE;i++){
13 :            printf("%d : %c\n",i, dest[i]); //화면에 복사된 내용출력

14 :      }

15 :      free(dest);
16 :      free(src);
17 :      return 0;
18 : }

 

<결과화면>

숫자 69에 해당하는 알파벳 'E' 출력




반응형

'Backend > C' 카테고리의 다른 글

valgrind  (0) 2011.05.26
gprof  (0) 2011.05.26
GDB  (0) 2011.05.26
memset()을 이용하여 메모리를 채워보자  (0) 2011.05.20
Valgrind로 메모리 누수 체크하기!!  (0) 2011.05.13