Rewrite the code between the two comments labeled "POINT A" and "POINT B" to use realloc. Include a check to verify that memory was successfully allocated as you did with malloc in the previous step:...

Rewrite the code between the two comments labeled "POINT A" and "POINT B" to use realloc.
Include a check to verify that memory was successfully allocated as you did with malloc in the previous
step:




#include #include #include

void print_int_array(int* a, unsigned size, char* name) { for (unsigned i=0; i printf("%s[%d]=%d\n",name,i,a[i]); }}
int main(int argn, char *argv[]) { // pretend initial_size came from user input (ie. not known ahead of time) int initial_size = atoi(argv[1]); int *array = (int *) malloc(initial_size*sizeof(int));if (array == NULL) exit(0); for (int i=0; i array[i]=i; } printf("original:\n"); print_int_array(array,initial_size,"array"); // pretend new_size came from user input, assume new_size>initial_size int new_size = atoi(argv[2]); // POINT A int *bigger = (int *) calloc(new_size,sizeof(int));

for (int i=0; i bigger[i]=array[i]; } int *tmp = array; array = bigger; bigger = tmp; free(bigger); // POINT B for (int i=initial_size; i array[i]=2*i; }

printf("resized:\n"); print_int_array(array,new_size,"array"); free(array);}




Sep 17, 2021
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here