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

  • hosuk
    (유호석)
  • hosuk's Avatar 이 글의 작성자
  • Offline
  • Newbie
  • Newbie
더보기
02 Dec 2017 03:12 #2916 작성자: hosuk
hosuk 님의 글: memset() 메모리를 특정 값으로 초기화
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;
}
Time to create page: 0.052 seconds
Powered by Kunena Forum