What is happening between the two comments labeled POINT A and POINT B? Write a brief description at the bottom of your lab3/lab3.txt file. What happens if you compile the code and run it without any command line arguments? Explain what happens and why at the bottom of your lab3/lab3.txt file. Update the code to include a check after the call to malloc to verify that memory was successfully allocated (and call exit(0) if it was not). 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; iinitial_size int new_size = atoi(argv[2]); // POINT A int *bigger = (int *) calloc(new_size,sizeof(int)); for (int i=0; i

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

omputer Science

  1. What is happening between the two comments labeled POINT A and POINT B? Write a brief description at the bottom of your lab3/lab3.txt file.

  2. What happens if you compile the code and run it without any command line arguments? Explain what happens and why at the bottom of your lab3/lab3.txt file.

  3. Update the code to include a check after the call to malloc to verify that memory was successfully allocated (and call exit(0) if it was not).

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 <stdio.h>
#include <stdlib.h>
#include <ctype.h>

void print_int_array(int* a, unsigned size, char* name) {
for (unsigned i=0; i<size; 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));

for (int i=0; i<initial_size; 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<initial_size; i++) {
bigger[i]=array[i];
}

int *tmp = array;
array = bigger;
bigger = tmp;
free(bigger);
// POINT B

for (int i=initial_size; i<new_size; i++) {
array[i]=2*i;
}

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

Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Constants and Variables
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-engineering and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY