I'm learning structs and I'm having trouble understanding it. I'm trying to pass in my struct to my read function and I'm getting an error "parameter 1 of 'void read(WIR)' has incomplete type 'WIR'" and I'm pretty sure I'm reading in my data incorrectly but I'm not sure
Function can see only type names which have been defined before it. SO declaration of your read() function searches for WIR type on lines 1-20. And it didn't finds it. Move your struct definition before read() declaration (why did you place it in main()?)