Just out of curiosity I decided to initialise a struct with empty curly braces, e.g. PF_ParamDef my_param = {};
When debugging it was confirmed that by doing this it initialised everything in the struct to zero (the memory used by the struct was fully zeroed). Surely this is a faster way of clearing a struct than with the macro AEFX_CLR_STRUCT(), right? AEFX_CLR_STRUCT does this explicitly using a while loop to set every byte in the struct to zero, so the end result is valid.
IMO this is a much nicer way of declaring struct variables, since you also get to initialise it immediately, which is considered good practice.
Christian