Entiendo por vector un array de esos de corchetes.
No hay nada en C que te diga el tamaño que tiene. El programador tiene que guardar dicho valor en algún sitio.
Suele ser habitual hacer una estructura del estilo
struct vector
{
int tamanhoMaximo;
int numeroElementosValidos;
tipo *datos;
};
de forma que al hacer malloc de datos, apuntas en tamanhoMaximo el número de elementos reservados.
Cuando rellenas datos, apuntas en numeroElementosValidos cuantos elementos has metido.
Por ejemplo, es posible que hagas un malloc para 10 elementos, que puede ser el maximo numero de elementos que vas a usar en todo tu programa y luego, en otro sitio, poner solo tres elementos.
Otra opción más simple, sin hacer la estructura, es hacer que todas las funciones admitan dos parametros, el vector y el numero de elementos que tiene. Eso si, el numero de elementos tienes que guardarlo en algún sitio.
Se bueno.