【C言語】初期化に使うmemset関数の使い方を詳しく解説

memset関数は、メモリ領域を特定の値で初期化するために使用されます。

この記事では、C言語のmemset関数の使い方について詳しく解説します。

目次から探す

memset関数とは

memset関数は、C言語で提供されている関数の一つです。

この関数は、指定したメモリ領域に特定の値をセットするために使用されます。

memset関数の概要

memset関数は、以下のような形式で使用します。


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

この関数は、指定したメモリ領域にvalueで指定した値をnumバイト分セットします。

セットされる値は、unsigned char型として解釈されます。

memset関数の基本的な使い方

memset関数のシンタックス

memset関数は、メモリ領域を特定の値で埋めるために使用されるC言語の関数です。

そのシンタックスは以下の通りです。


void *memset(void *ptr, int value, size_t num);
引数名説明
ptrメモリブロックの先頭アドレスを指すポインタ
valueメモリにセットする値
numセットするバイト数

memset関数の戻り値

memset関数は、メモリ領域の先頭アドレスを返します。

戻り値の型はvoid*です。

memset関数の使用例

以下に、memset関数の使用例を示します。


#include <stdio.h>
#include <string.h>
int main() {
    char str[10] = "Hello";
    
    // strのメモリ領域を0で埋める
    memset(str, 0, sizeof(str));
    
    // strの内容を表示する
    printf("str: %s\n", str);
    
    return 0;
}

上記のコードでは、strという名前の文字配列を宣言し、memset関数を使ってそのメモリ領域を0で埋めています。

sizeof演算子を使って配列のサイズを取得し、memset関数の第3引数に渡しています。

実行結果は以下のようになります。

str: 

strの内容が空文字列になっていることが確認できます。

これは、memset関数によってstrのメモリ領域が0で埋められたためです。

以上が、memset関数の基本的な使い方についての説明です。

memset関数は、メモリ領域を特定の値で初期化する際に便利な関数です。

1 2 3

この記事のページ一覧
  1. 現在のページ
目次から探す