Dynamic array of integers
I think you should use uint for things where you cannot have negative values.

vector_error CVectorGet(CVectorInt *vector, int index, int * value)
{
    if(index &lt; vector-&gt;nrOfElements &amp;&amp; index &gt;= 0)


This check, for instance, wouldn't need the comparison with 0 if you used uint. 

In the comments I already said something about overflow. Now, you can indeed say "that's such a big amount of elements, people are not going to surpass this" and not build it in. That's okay. Be sure to add it in as a comment in the header though, because you don't want to accidentally find out that this is a problem.