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);
}