그냥 게임개발자
memset이란 본문
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 |