본문으로 바로가기
homeimage
  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 메모리를 특정 값으로 초기화 함수 memset()

C언어 메모리를 특정 값으로 초기화 함수 memset()

· 댓글개 · 바다야크

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

malloc()이나 calloc()에서 할당 받은 메모리를 특정 값으로 초기화합니다. 보통 어떤 작업을 하기 전에 NULL로 초기화할 때 많이 사용합니다. 데이터를 읽어 들이거나 함수를 호출하기 전에 메모리를 초기화를 하는 것이 디버깅에 유리합니다.

  • 헤더: string.h
  • 형태: void *memset(void *s, int c, size_t n)
  • 인수: void *ptr 메모리의 크기를 변경할 포인터
    int c 초기화 값
    size_t size 초기화 크기
  • 반환: void * s에 대한 포인터를 반환하며 실패하면 NULL을 반환

C언어 memset() 함수 예제

#include <stdio.h>
#include <string.h>
#include <stdlib.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;
}

C언어 memset() 예제 실행 결과

]$ ./a.out
fffffffff
fffffffff
]$
SNS 공유하기
💬 댓글 개
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.