And I am quite surprised with what they said about structure fields order. Does it really matter? In their example, by declaring variables in other order, they saved 8 bytes. However, shouldn't compiler take care of it? Is it true, and should I declare variables more carefully?
It's very rare that you're developing in an environment in which 8 bytes is going to make a difference.
If you're (un)lucky enough to be developing for that sort of environment, then I guess you need to worry about this sort of thing - and if you're good at it, then you can earn big bucks as a specialist :)
For most of us, though, it's not worth worrying about.