본문 바로가기
👨‍🏫Study/C++

[C++] memset 함수

by 코푸는 개발자 2021. 7. 26.
728x90
memset(Memory + Set) 함수

기능 - 특정 배열을 정해진 값으로 사이즈만큼 초기화해 줍니다.

memset(배열명, 초기화할 값, 초기화할 배열 사이즈)

memset 함수를 사용할 때는 cstring이라는 라이브러리를 include해주워야 합니다.

 

(예시코드)

#include <cstring>

int arr[10];

memset(arr, 0, sizeof(arr));

위 코드는 arr이라는 크기 10을 가지는 배열을 0값으로 최기화한 것을 의미합니다.

*sizeof 함수는 arr의 전체 사이즈를 반환해줍니다.

 

부가적인 사용법
#include <iostream>
#include <string.h> // string.h 파일이 필요합니다.

using namespace std;

int main() {

    char a[20];

    // 1바이트마다 모두 10로 초기화
    // 배열을 채울 때는 sizeof()함수를 사용하면 됩니다.
    // sizeof 함수 - 배열의 전체 바이트 크기를 반환합니다.
    memset(a, 65, sizeof(a));
    //아스키 코드로 65인 A가 출력됩니다.

    for(int i = 0;i<20;i++)
        cout << a[i];

    return 0;
}

아스키코드 표

 

memset 함수를 사용하는 이유

대체로 memset함수는 특정 범위에 있는 연속된 메모리에 값을 지정하고 싶을 때 사용하는데 for문보다 더 빠른 속도가 나올수가 있습니다.

여기서 나올수가 있다라고 표현한 이유는 컴파일러 그리고 컴퓨터 아키텍처에 따라서 다르기 때문입니다.

 

 

728x90

댓글