42 lines
707 B
C
42 lines
707 B
C
// Implements a list of numbers with an array of dynamic size using realloc
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
int main(void)
|
|
{
|
|
// List of size 3
|
|
int *list = malloc(3 * sizeof(int));
|
|
if (list == NULL)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
// Initialize list of size 3 with numbers
|
|
list[0] = 1;
|
|
list[1] = 2;
|
|
list[2] = 3;
|
|
|
|
// Resize list to be of size 4
|
|
int *tmp = realloc(list, 4 * sizeof(int));
|
|
if (tmp == NULL)
|
|
{
|
|
free(list);
|
|
return 1;
|
|
}
|
|
list = tmp;
|
|
|
|
// Add number to list
|
|
list[3] = 4;
|
|
|
|
// Print list
|
|
for (int i = 0; i < 4; i++)
|
|
{
|
|
printf("%i\n", list[i]);
|
|
}
|
|
|
|
// Free list
|
|
free(list);
|
|
return 0;
|
|
}
|