malloc内存分配,务须释放。否则内存泄漏

malloc内存分配,必须释放。否则内存泄漏?#include stdio.h#include malloc.hint main(void){char *ptr

malloc内存分配,必须释放。否则内存泄漏?
#include <stdio.h>
#include <malloc.h>

int main(void)
{
char *ptr = (char*)malloc(10);
if(NULL == ptr)
{
printf("\n Malloc failed \n");
return 0;
}
else
{
free(ptr);
        }
return 0;
 }

刚才看了一道题。解释如下:
    尽管上面的代码并没有释放分配给“ptr”的内存,但并不会在程序退出后导致内存泄漏。在程序结束后,所有这个程序分配的内存都会自动被处理掉。
    这是为什么呢?
[解决办法]
这说明楼主看错了书,把错误结论/有限制条件结论当普遍真理了。