@hazlin no problemo. fwiw, yhe term for this sort of initialization of structs is "designated initializer". I did a little digging and saw that c++ is a little more restrictive than c when it comes to how you can use these (see https://en.cppreference.com/w/cpp/language/aggregate_initialization#Designated_initializers ). Also you probably dont need to typedef structs in c++ either
Note: out-of-order designated initialization, nested designated initialization, mixing of designated initializers and regular initializers, and designated initialization of arrays are all supported in the C programming language, but are not allowed in C++.