I have the following program:
int insert(int *array, int arraySize, int newElement)
{
   array[arraySize + 1] = newElement;
   return (arraySize+1);     // Return new Array size......
}
int main()
{
   int array[] = {1,2,3,4,5};
   int arraySize = sizeof(array) / sizeof(int);
   insertInArray(array, arraySize,6);
   print(array);
}
I am trying to work out this program in C, but when I print the array after insertion, it doesn't print the desired output.
Please correct me if I am doing something wrong.
Updated Code:
int insert(int **array, int arraySize, int newElement)
{
   int i;    
   *array = realloc(*array,++arraySize * sizeof(int));    
   (*array)[arraySize] = newElement;    
   return (arraySize);
}
int main()
{
   int i;
   int arraySize = 5;
   int *array = (int *)malloc(arraySize * sizeof(int));
   for(i=1; i<=arraySize; i++)
      array[i] = i;
   printArray(array, arraySize);
   arraySize = insert(&array, arraySize,6);
   printArray(array, arraySize);
}