アプリケーション プログラマの観点から見ると、ファイルは連続した一連のバイトです。連続した書き込みは、データをファイルに順番に配置します。(このコメントは、あなたの質問に関係のない詳細について議論する人もいるため、必要です)。
したがって:
fwrite(&user_record1, sizeof(user_record1), 1, fp);
fwrite(&user_record2, sizeof(user_record2), 1, fp);
ファイル上に 2 つのユーザー レコードが作成され、一方が他方の直後に続きます。
非常に大きなレコードがある場合は、次のように 2 つの小さなレコードに分割します。
fwrite(&user_record_parta, sizeof(user_record1), 1, fp);
fwrite(&user_record_partb, sizeof(user_record2), 1, fp);
ただし、このような大規模なレコードを使用するアプリケーションの設計には疑問があります。おそらく、アプリケーションで実際に行っていることは、ユーザー レコードの配列を作成することであり、その配列は非常に大きくなります。この場合、配列全体ではなく、配列の各エントリを書き込みます。