wkdata = (seito *)malloc(sizeof(seito));
これの意味はメモリを確保して、そのアドレスを
wkdataのポインタにわたしているんですよね?