メモリの内容を指定した値で初期化する・memset †指定したメモリ番地から指定したサイズ分を指定した値で初期化するmemset関数のC言語サンプルソースを以下に記します。 スポンサーリンク 関連記事 †
memsetの書式等 †
memsetを使用したC言語サンプルコード †以下にmemsetを使用して初期化前、0で初期化後、123で初期化後の実行例を記します。 memset.c (改行コードLF) #include <stdio.h> #include <string.h> struct INT_MEMBERS { int a; int b; int c; }; int main(void) { struct INT_MEMBERS int_members; printf("int_members.a = %d\n", int_members.a); printf("int_members.b = %d\n", int_members.b); printf("int_members.c = %d\n", int_members.c); printf("memset(&int_members, 0, sizeof(int_members))\n"); memset(&int_members, 0, sizeof(int_members)); printf("int_members.a = %d\n", int_members.a); printf("int_members.b = %d\n", int_members.b); printf("int_members.c = %d\n", int_members.c); printf("memset(&int_members, 123, sizeof(int_members))\n"); memset(&int_members, 123, sizeof(int_members)); printf("int_members.a = %d\n", int_members.a); printf("int_members.b = %d\n", int_members.b); printf("int_members.c = %d\n", int_members.c); return 0; } 以下に上記のC言語サンプルコードをコンパイルし実行した時の出力を記します。 $ gcc memset.c -o memset $ ./memset int_members.a = -1216453232 int_members.b = 134514091 int_members.c = -1216614412 memset(&int_members, 0, sizeof(int_members)) int_members.a = 0 int_members.b = 0 int_members.c = 0 memset(&int_members, 123, sizeof(int_members)) int_members.a = 2071690107 int_members.b = 2071690107 int_members.c = 2071690107 初期化した値の0になっていることが確認できます。 以上、memsetのC言語サンプルコードと実行例でした。 スポンサーリンク |