Yes it is valid as described in above answers. A small suggestion, it would be more better if you are providingprovide a tag name too, as follows. This would help some of IDE'sIDEs to better parse your code for intellisense.
typedef struct vactor_tag { double x; double y; double z; } *vector;