본문 바로가기
프로그래밍 언어/C,C++

C/C++ memset() 메모리 블록을 채우는 함수

by pagehit 2021. 7. 4.
반응형
#include <string.h>
void *memset(void *dest, int c, size_t count);

 

memset() 함수는 dest 포인터가 가리키는 곳부터 count 바이트만큼 값 c로 채운다. 값 c는 부호없는 문자(unsigned character)로 변환된다.


매개변수

void *dest : 채울 메모리 블록에 대한 포인터

int c : 설정할 값, 넘겨지는 값은 int이지만 부호없는 문자로 변환되어 메모리 블록에 채워진다

size_t count : 값으로 채워질 바이트(byte)의 수


반환값

dest에 대한 포인터를 반환


코드 예시

#include <string.h>
#include <stdio.h>

int main(void)
{
    char buffer[256];
    char *string;
    
    memset(buffer, 0, sizeof(buffer));
    string = (char *) memset(buffer, 'A', 10);
    printf("Buffer: %s\n", string);
    memset(buffer+10, 'B', 10);
    printf("Buffer: %s\n", string);
}

/*** output ***
Buffer: AAAAAAAAAA
Buffer: AAAAAAAAAABBBBBBBBBB
*/
반응형

댓글