What will happens if the statement free(a) is removed in the following C code?
Posted: Wed Jul 13, 2022 7:56 pm
#include<stdio.h>
#include<stdlib.h>
main()
{
int *a;
a=(int*)malloc(sizeof(int));
*a=100;
printf("*a%d",*a);
free(a);
a=(int*)malloc(sizeof(int));
*a=200;
printf("a%p",a);
*a=200;
printf("a%d",*a);
}
a) Error
b) Memory leak
c) Dangling pointer arises
d) 200 is printed as output
#include<stdlib.h>
main()
{
int *a;
a=(int*)malloc(sizeof(int));
*a=100;
printf("*a%d",*a);
free(a);
a=(int*)malloc(sizeof(int));
*a=200;
printf("a%p",a);
*a=200;
printf("a%d",*a);
}
a) Error
b) Memory leak
c) Dangling pointer arises
d) 200 is printed as output