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
]$
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
C언어 지정한 시간만큼 대기 함수 sleep() (0) | 2020.03.15 |
---|---|
C언어 길이 만큼 문자열 비교 함수 strncmp() (0) | 2020.03.15 |
C언어 문자열 비교 함수 strcmp() (0) | 2020.03.15 |