memcpy

今月号のInterfaceでipw2100のコードが載っていたので眺めていたら変なコードが有った。何これ。
無線LANドライバのソースコードを見ていると、パケットをフラグメンテーションする部分とか結構楽しい。この連載自体は第3回らしいのだが、1回と2回も見たいな。

#include <string.h>
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
    char src[4];

    src[0] = 'a';
    src[1] = 'b';
    src[2] = 'c';
    src[3] = 'd';

    char *dest = (char*)malloc(sizeof(char) * 4);

    memcpy(dest, &src, 4);
    printf("dest = %s\n", dest);

    memcpy(dest, src, 4);
    printf("dest = %s\n", dest);

    free(dest);
}