개요
- 함수 메모리 buffer를 받아서, int 값 c로 초기화시키는 것.
- buffer의 길이는 변수 len으로 주어진다.
구현
-
buffer의 타입을 계속 변경시켜준다.
-
void * → unsigned char * → void *
-
왜 unsigned char인가? 포인터는 주솟값 연산이니까 부호를 쓰지 않는다.
따라서 부호가 없는 unsigned char를 쓰는 것이 관례!
코드
c
#include "libft.h"
void *ft_memset(void *buffer, int c, size_t len)
{
size_t i;
unsigned char *str;
i = 0;
str = (unsigned char *) buffer;
while (i < len)
{
str[i] = c;
i++;
}
buffer = (void *)str;
return (buffer);
}