The ones who are crazy enough to think they can change the world are the ones who do.- Steve Jobs
Now, you are already partition the microprocessor's memory to your 6 team either by using malloc() or by using calloc(). One of your team demand for extra memory space as they are left with zero space of their allocated memory, now it's your responsibility to allocated memory to that team so that they can complete their task. Here is the function to reallocate the memory space to whomsoever are in demand of memory.
data_type *realloc (no of spaces, size of data_type);
Let us consider that our user will enter 3 numbers and we allocated three spaces for interger number using malloc() inbuilt memory function and then if our user enter more than three numbers, we should not stop our user instead we need to reallocate the number to the same pointer variable using realloc().
#include <stdio.h> #include <stdlib.h> int main() { int *numbers = (int*)malloc(3* sizeof(int)); int i, space = 3, number, n = 0; printf("malloc allocated 3 memory spaces\n\n"); printf("Enter as many numbers you like or -1 to exit\n"); scanf("%d ",&number); while(number !=-1) { if(n >= space) { space+=3; printf("reallocate 3 more memory\n"); numbers = (int*)realloc(numbers, space * sizeof(int)); } numbers[n] = number; if(n!=0) scanf("%d",&number); n++; } printf("The numbers you entered...\n"); for(i = 0;i < n;i++) printf("%3d", numbers[i]); return 0; }
We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.
© Copyright 2019