memset関数を使ってC言語でメモリを設定する方法

C言語のmemset関数を使うと、メモリブロックの中身を指定した値で埋めることができます。

memset関数のプロトタイプは次のとおりです:

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

パラメータの説明:

  1. ptr:設定したい値のメモリブロックを指すポインタ。
  2. 値:設定する値のこと。通常は整数値だが、特殊なケースで文字の場合もある
  3. num:設定するバイト数。

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

#include <stdio.h>
#include <string.h>
int main() {
char str[50];
strcpy(str, "Hello, World!");
printf("Before memset: %s\n", str);
memset(str, '*', 6);
printf("After memset: %s\n", str);
return 0;
}

結果を出力する。

Before memset: Hello, World!
After memset: ****** World!

上の例では、まずstrcpy関数を用いて”Hello, World!”という文字列をstr配列にコピーしています。次にmemset関数でstr配列の先頭の6バイトを’*’文字に設定しています。最後にstr配列の中身を出力すると先頭の6文字が’*’に置き換わったことがわかります。

bannerAds