Não Manzo. Tudo o que você alocou dinamicamente, você tem que liberar.
O que alocou estatiticamente é desalocado sem você.
O que alocou estatiticamente é desalocado sem você.
Teoricamente né? Porque depois que o programa é fechado a memória é desalocada (pelo menos no Ubuntu).
por isso da minha pergunta.
se ele nao liberasse a memoria q to usando, acho q eu nao estaria aqui digitando agora..
se ele nao liberasse a memoria q to usando, acho q eu nao estaria aqui digitando agora..
Eu recomendo a leitura: http://en.wikipedia.org/wiki/Memory_leak
"In modern operating systems, normal memory used by an application is released when the application terminates."
Sugiro fortemente para vocês olharem sobre 'valgrind'...
Ele responderá todas as dúvidas de quanto alocou de memória e quanto liberou.
Novamente, não importa o que aconteça, vocês são responsáveis pela memória que alocaram dinamicamente. Apesar do sistema desalocar quando o programa é terminado, voce poder ter problemas de memória durante a execução.
Então, liberem sempre a memória.
Concordo inteiramente com o João. Acho que devemos, sempre que possível, exercitar um estilo de programação "defensiva". Se você puder fazer algo para defender seus programas, faça.
Se tentou alocar, verifique se deu certo; se alocou, libere; e por aí vai.
Mais sobre programação defensiva pode ser encontrado no EXCELENTE livro do Kernigham e Pike:
The practice of programming
abraços,
--
carlinhos
Se tentou alocar, verifique se deu certo; se alocou, libere; e por aí vai.
Mais sobre programação defensiva pode ser encontrado no EXCELENTE livro do Kernigham e Pike:
The practice of programming
abraços,
--
carlinhos