memset() 메모리를 특정 값으로 초기화

조회 2,071 · 댓글 0
유호석작성자2017년 12월 1일
malloc() 이나 calloc() 에서 할당 받은 메모리를 특정 값으로 초기화합니다. 보통 어떤 작업을 하기 전에 NULL로 초기화할 때 많이 사용합니다.
데이터를 읽어 들이거나 어떤 함수를 호출 후 메모리에 입력된 값을 처리하는 경우 미리 메모리를 초기화를 하는 것이 디버깅에 유리합니다.


#include <stdio.h>

#include <string.h>

int main( void)
{
char *ptr;

ptr = (char *)malloc( 10);

ptr[9] = '\0'; // 맨 마지막 요소에 NULL 대입

// 처음부터 NULL전까지 'f'로 채우고 리턴된 포인터로 출력
printf( "%s\n", (char *)memset( ptr, 'f', 9));

// ptr로 다시 출력
printf( "%s\n", ptr);

free( ptr);

return 0;
}

로그인 후 답글을 남길 수 있습니다.