그냥 게임개발자

memset이란 본문

C++ 나만의 복습

memset이란

sudoju 2024. 4. 3. 22:15

memset함수는 메모리의 내용(값)을 원하는 크기만큼 특정 값으로 세팅할 수 있는 함수이다.

 

MemorySettting이다.

메모리 설정

음음

명확해서 좋아

함수원형은 아래와 같다.

void* memset(void* ptr, int value, size_t num);

 

첫번째 인자는 void* ptr

세팅하고자 하는 메모리의 시작 주소를 말한다.

즉, 그 주소를 가리키고 있는 포인터를 말한다.

 

두번째 인자 value는 메모리에 세팅하고자 하는 값을 말한다.

int 타입으로 받지만 내부에서는 unsigned char로 변환이 되어 저장된다.

'a'를 넣어도 무방하다는 뜻이다.

 

세번째 인자 size_t num

길이를 뜻한다.

이 길이는 byte단위로 메모리의 크기 한 조각 단위의 길이를 말한다.

[   길이 * sizeof(데이터타입)   ]의 형태로 작성하면 된다.

 

반환 값은 성공하면 첫번째 인자로 들어간 ptr을 반환하는데

실패하면 NULL을 반환한다.

 

이 함수를 사용하려면 memory.h파일 또는 string.h파일이 필요하다.

 

그렇다면 실제 예제를 봐보자.

 

#include <iostream.h>
#include <memory.h>

using namespace std;

int main()
{
    int a[5];
    memset(a, 0, sizeof(a));
    
    for (int i : a)
    	cout << i << " ";
        
    return 0;
}

 

이와 같이 a의 배열에 0을 a의 사이즈 만큼 메모리를 세팅시켜주면 실제 출력되는 값은 아래와 같다.

 

 

 

잘 나온다.

 

'C++ 나만의 복습' 카테고리의 다른 글

stoi()  (0) 2024.04.04
atoi(s.c_str())??  (0) 2024.04.04
split() 함수  (0) 2024.04.03
string - reverse()  (0) 2024.03.31
ASCII 코드와 문자열  (0) 2024.03.31