Since you are passing the struct as a cMyStruct* to the function, how can you not know? The function will recieve a cMyStruct and since member-variable-names are known at compile time, just check the definition/documentation for the names. The number of, and the name of members can't magically change during run-time.