C言語でxxxx yyyyのような2組の文字列が複数並んだファイルを読み込み、線形リストに代入するとします。
そこで以下のコードを書いたのですが、おそらくfirstlastがそれぞれの行に対して同じ領域を指してしまっているので、それを使って線形リストを作っても、すべての線形リストの要素が同じxxxxyyyyになってしまいます。 そうすれば、ちゃんとした線形リストを作れるのでしょうか?

char first[MAX_NAME_LENGTH];
char last[MAX_NAME_LENGTH];

while(fscanf(fp, "%s%s", first, last)!=EOF){
        //線形リストへの格納処理
}