함수 원형
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으로 바꿔주는 차이. 그리고 반환값이 없는 정도의 차이일 뿐, 메모리의 초기화라는 점에서 매우 유사한 함수이다.