ft_memset

nhwang·2022년 1월 24일
0

함수 원형

void *ft_memset(void *dst, int val, size_t size)

용도 : dst의 메모리 주소에서부터 size바이트 만큼 val값으로 변경
str이 아니므로 메모리 세팅에 대한 용도로 예상

unsigned char 사용의 이유 : 결국 메모리는 문자열이므로 사용
>>> \200같이 아스키 값이 128이상인 경우 받아와야 하기 때문.
그리고 바이트 ++; 했을 때 1칸만큼만 이동하기를 원하기 때문.

리턴 : dst의 주소

코드

#include "libft.h"

void	*ft_memset(void *dst, int val, size_t size)
{
	unsigned char	*c;
	size_t			i;

	i = 0;
	c = (unsigned char *)dst;
	while (i < size)
	{
		*c = val;
		c++;
		i++;
	}
	return (dst);
}

요약 : unsigned를 사용해야 하는 이유에 대한 공부.
관련 함수 : ft_bzero
ㄴ>> 데이터를 0으로 바꿔주는 차이. 그리고 반환값이 없는 정도의 차이일 뿐, 메모리의 초기화라는 점에서 매우 유사한 함수이다.

profile
42Seoul

0개의 댓글