I have an array 0 1 2 4 5 6 7 8 9. I want to insert 3 between 2 and 4.
Length stays the same after calling the function, even though I have added an value, why?
printf("%d,", feld[9]); gives me the right value, code works - but I get a warning. 
How can I insert a value even though I initialize with int feld[9] = {0,1,2,4,5,6,7,8,9}; or int feld[] = {0,1,2,4,5,6,7,8,9}; ?
nt insertArray(int* array, int length, int value, int pos) 
{
    int i;
    if (pos < length)
    {
        for (i = length; i > pos; i--)
        {
            array[i] = array[i - 1];
        }
        array[i] = value;
        length++;
    }
    else if (pos == length)
    {
        array[pos] = value;
        length++;
    }
    return length;
}
int main()
{
    int feld[9] = {0,1,2,4,5,6,7,8,9};
    size_t length = sizeof(feld) / sizeof(int);
    insertArray(feld, length, 3, 3);
    length = sizeof(feld) / sizeof(int);
    for (int i = 0; i < length; i++)
    {
        printf("%d,", feld[i]);
    }
    printf("\n");
    printf("%d,", feld[9]);
    return 0;
}
 
     
     
    