I don't know if there are rules against this, but I prefer to specify the vector size in the function definition, i.e. float pos[3]. That way the compiler catches you if you copy/paste in some Matlab code and turn pos(3) into pos[3].