Массивы и структуры в C хранят данные в памяти, которые являются непрерывными. Тогда почему C не позволяет прямое копирование массивов с использованием «=», где это разрешено для структуры. Пример:Копирование массива в структуре копирования C v/s в C
int a[3] = {1,2,3};
int b[3];
b = a; // why is this not allowed.
struct book b1, b2;
b1.page = 100;
b1.price = 10.0;
b2 = b1; // Why is this allowed
Именно так определяется язык. Если вы хотите иметь возможность копировать массив по заданию, задайте его как член структуры. –