스닥
Playground
스닥
전체 방문자
오늘
어제
  • 분류 전체보기 (125)
    • 개발자 기본기 (1)
    • Swift 아키텍처 (6)
    • iOS 개발 (55)
      • Swift (12)
      • UIKit (17)
      • SwiftUI (9)
      • CoreData (9)
      • MusicKit (4)
      • WebKit (2)
      • 개발 환경 (0)
      • WatchOS (2)
    • 애플 개발자 아카데미 (4)
    • 막 쓰는 개발일지 (0)
    • 운영체제 (4)
    • 네트워크, 서버 (16)
      • Network (9)
      • Server (7)
    • 알고리즘 (8)
    • C언어 (7)
      • 함수 (7)
    • 하루 이야기 (23)

블로그 메뉴

  • GitHub계정
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • ios rendering
  • 문자열 복사
  • 알고리즘
  • docker
  • 너비 우선
  • C 언어
  • ip주소
  • Core Animation
  • 도커
  • 서버
  • BFS
  • Server
  • dfs
  • SWIFT
  • swift performance
  • struct class 성능
  • 트리
  • 자료구조
  • core data
  • 깊이 우선

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
스닥
C언어/함수

memcpy

C언어/함수

memcpy

2020. 8. 10. 14:19

헤더 파일

<string.h>

사용 목적

메모리 B를 특정 길이(byte 단위) 만큼 메모리 A에 복사한다.

프로토타입과 매개변수

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

1. void *dest : src를 복사해서 넣고자 하는 주소

2. const void *src : 복사 대상 주소

3. size_t n : 복사 하고자 하는 크기(byte단위)

반환값

dest의 첫 주소값

함수의 원리

이해를 돕기 위해 같은 동작을 하는 함수를 만든 것입니다.

void		*ft_memcpy(void *dest, const void *src, size_t n)
{
	unsigned int	i;

	i = 0;
	if (n == 0 || dest == src)
    // 복사하고자 하는 길이가 0이거나 자기 자신을 복사하는 경우 dest를 그대로 반환
		return (dest);
	while (i < n) // n크기 만큼
	{
		*(char *)dest = *(char *)src; // 복사
		dest++;
		src++;
		i++;
	}
	return (dest - i); // 처음 dest 주소를 반환
}

사용 예시

#include <string.h>
#include <stdio.h>

int	main(void)
{
	char	src[] = "Life is FortyTwo";
	char	dest[30];

	memcpy (dest, src, (strlen(src) + 1)); //NULL값까지 복사하고 싶어서 1을 더해줌
	printf ("%s\n", dest);
	return (0);
}
Life is FortyTwo

 

'C언어 > 함수' 카테고리의 다른 글

memset  (0) 2020.09.25
memmove  (0) 2020.08.10
memccpy  (0) 2020.08.10
memchr  (0) 2020.08.10
memcmp  (0) 2020.08.10
strlen  (0) 2020.08.10
    스닥
    스닥
    https://github.com/feldblume5263

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.