Of course.
But there can be a couple of cases that work with memcpy and not for the equality operator.
You can declare two structures with exaclty the same layout, but in two different declarations. The compiler doesn't check consistency between the two, but simply consider them two different variables rising an error.
The second case is for a structure fully defined, and another one which have the same contents at beginning then other variables or is an incomplete struct.
Anyway you are right, sometimes I just forget to be enaugh adherent to the question and consider some 'advanced' use (and also misuse) of 'C' programming.
As you said in another thread 'C' will never be replaced easily because is enough low level for fast and efficient system programming and also enaugh high level for wathever else
Even if googling you'll find some trials to write an operating system Java or C++ based base software is efficient only in 'C' that guarantee portability between different processors.