memcpy関数は、C言語でメモリブロックをコピーするための標準ライブラリ関数です。この関数は、あるメモリ領域から別のメモリ領域へ指定されたバイト数のデータをコピーします。
忍者CODEマガジンは、未経験からでもプロのエンジニアを目指せるプログラミングスクール「忍者CODE」が運営しているプログラミング情報サイトです。
- プログラミングの効果的な学習方法
- プログラミング用語の解説
- エンジニアのキャリアに関する情報
など、プログラミングを始めたばかりの初学者に役立つ記事を幅広く公開しています!
memcpy関数の使い方
使用する際には、#include <string.h>をインクルードし、以下の形式で使用します。
void *memcpy(void *dest, const void *src, size_t n);
引数には、コピー先のメモリへのポインタdest、コピー元のメモリへのポインタsrc、およびコピーするバイト数nを指定します。戻り値はコピー先のポインタです。
注意点として、コピー元とコピー先のメモリ領域が重なっている場合、動作は未定義です。この場合は、代わりにmemmove関数を使用する必要があります。
例えば、次のように配列のデータをコピーすることができます。
char src[] = "Hello, World!";
char dest[20];
memcpy(dest, src, strlen(src) + 1);
このコードは、srcの内容をdestにコピーし、strlen(src) + 1を使ってヌル文字も含めたサイズを指定しています。
memcpyは効率的にメモリを操作できる便利な関数ですが、使用時にはメモリ領域の重複やバイト数の指定に注意し、安全に利用することが重要です。
「忍者CODE」は未経験からでもプロのエンジニアを目指せるオンラインスクールです。
-
- 忍者CODEでは、
- 業界最安級の料金でしっかりとスキルを習得できる独学プラン
- スキルの習得後に必ず副業案件を紹介してもらえる副業支援プラン
- 転職サポートのプロから転職支援が受けられる転職支援プラン
の3つのプランから選べます。
学習コースに関するご相談や学習後のキャリアに関するご相談などについては、
こちらの無料メンター相談にて受け付けておりますので、お気軽にお申込みください!また、JavaScript初学者が無料で基礎を学べる プログラミング入門講座や無料でプログラミングの問題に挑戦できる プログラミング無料問題集も非常に好評です!