I want to be able to create a type that has 3 floats (x,y,z). I have tried:
does this have to be declared somewhere where it can be seen by main?
Yes. Typically the class or struct is declared in a header file, which you
#include in whatever translation unit (c file) you use it in.