What is dangling pointers?and what is memory leak?
Answer Posted / kush
a dangling pointer is a pointer which points to a dead location in memory, means the variable or object is exist on that memory location bt that was deleted and pointer is still pointing to that location . this pointer is called dangling pointer.
EX:
int *function()
{
int a=500;
return &a;
}
int main()
{
int *ptr;
ptr=function();
++*ptr;
printf("%d",*ptr);//output=501
}
in the above example one function is there which is having return type int * means this function retuns a address.
now came int main(), i have creating one pointer *ptr and after that calling the function then whatever the address return by function is stored in *ptr.
but see the storage class of variable a in function it is auto by default and when function execution is end that variable is destroyed and funtion will return the address of variable a.
tha variable is destroy bt my *ptr is still pointing and utilizing that meroy location and data on that location this is called dangling pointer..
thanks...
| Is This Answer Correct ? | 28 Yes | 5 No |
Post New Answer View All Answers
What are friend classes? What are advantages of using friend classes?
What are the data types in c++?
What is flush c++?
What are the implicit member functions of class?
Are vectors faster than arrays?
What is the default width for ouputting a long integer using the insertion operator?
What is an undefined behavior and sequence points
Explain the benefits of proper inheritance.
What is the difference between interpreters and compilers?
Write a note about the virtual member function?
What is the difference between the functions memmove() and memcpy()?
Write a program which employs Recursion
What is private inheritance?
Explain what happens when a pointer is deleted twice?
Will rust take over c++?