You say, "I am not able to figure out why," but I think that you have - you even stated the reason yourself. SIM is not defined.
A quick look into the header file, reveals this is true: the "SIM" macro is never defined, anywhere.
You try to access the SCGC5 field of SIM. Since SIM isn't defined anywhere, lets look for SCGC5. A search of the header, reveals that SCGC5 is a field of the SIM_MemMap struct. Seems promising. So we keep digging.
Now we look for a macro or variable defined as a SIM_MemMap, or a pointer to one. Next, we find that this macro exists:
/* SIM - Peripheral instance base addresses */
/** Peripheral SIM base pointer */
#define SIM_BASE_PTR ((SIM_MemMapPtr)0x40047000u)
Ta-dah! We have found the missing macro. Substituting "SIM_BASE_PTR" for "SIM", seems like a reasonable place to start.