すれ立てるまでもない質問はここで 第79刷

このエントリーをはてなブックマークに追加
598デフォルトの名無しさん
Cを使ってます

typedef struct tagABC
{
int i;
char s[50];
} ABC;

int main()
{
int n[100];
ABC abc[100];
int n = -1;
abc[0].i = -1;
strcpy (abc[0].s, "hello world!!");

としてnとabcについて、1以降の配列にまで全て複製したいと思っています。

void bytecpy (void *dest, void *src, int size, int cnt)
{
int i;
for (i = 0; i <= cnt; i++)
{
memcpy ((int*)dest + (size / 4 * i), src, size);
}
}

という関数を作ってやってみたのですが、100%きちんと動作するかといえば不安です。

どのような手法がスマートなのでしょうか?
一つ一つコピーしていく方がいいのでしょうか?