Code/C, C++
[C, C++] memset 함수의 사용법
레옹
2022. 1. 11. 00:34
memset 함수는 메모리의 값을 원하는 범위만큼 값을 변경 시켜주는 함수다.
더보기
void* memset(void* ptr, int value, size_t num);
첫번째 ptr은 메모리의 시작 주소
두번째 value는 바꿀 값
세번째 num은 메모리 길이를 뜻한다. 이 길이는 바이트 단위로써 메모리 크기 한조각단위의 길이를 뜻한다.
sizeof(타입) 으로 하면 된다.
함수가 제대로 작동하면 맨 처음인자인 ptr이 반환되고 실패하면 NULL을 반환한다.
예제
#include <iostream>
#include <memory.h>
using namespace std;
int main() {
char arr[20];
cin >> arr;
memset(arr, 'b', 3 * sizeof(char));;
cout << arr;
return 0;
}
주의
int배열의 값을 바꿀경우 -1 이나 0 이외의 값으로 수정할려고하면 값이 이상하게 변한다.
memset 함수는 1 바이트 단위로 값을 초기화 하기 때문인데 4바이트은 int로는 숫자가 표현이 안된다.
웬만하면 char 타입일떄만 사용하자