Help understanding structure behaviior in esp now example

Exactly. As I am understanding it, the purpose of the struct is to pack several pieces of data into a formatted "packet" that can be disassembled on the other side using the same struct definition. For this to work don't all elements in the structure have to be of fixed size?

Could the author of this code simply missed that and gotten lucky that the code works as published? I broke it when I tried to send a bigger string, then went down a rabbit hole with many tunnels.

I just want to understand the code and why it behaves the way it does. Why does it work perfectly up to 10 chars? It packs and sends and unpacks on the other side, till I send 11.

I am new to cpp and the learning curve is steep.

I did what I wanted by making an oversized char string, putting it at the end of the structure, and added a length member.