memset() 메모리를 특정 값으로 초기화
조회 2,071 · 댓글 0
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;
}로그인 후 답글을 남길 수 있습니다.