以下のソースでtest.name = "abc......."としている部分がありますが
コンパイルエラーにならないのはどうしてでしょうか。
普通はstrncpyとかを使うのではないでしょうか。
また、配列の大きさが指定されていないので、
このソースはやばいと思うのですがどうでしょうか。

#include <stdio.h>

typedef struct {
char *name;
} NAME;

int main(void)
{
NAME test;
test.name = "abcdefghijklmn";
printf("%s\n", test.name);
return 0;
}