Enviado em 20/01/2023 - 15:39h
Boa Tarde a todos
Já fiz perguntas similares a essa, mas estou tentando criar um padrão pra entender quando devo ou não usar free
A princípio entendi que só devo usar free quando usar malloc. Ok.
Entendi que tudo é liberado qdo o programa termina! Ok.
Hoje me deparei com um algoritmo que usou o comando free! E estou considerando o comando desnecessário!
Quero entender se estou certo em relação a isso!
Link do Algoritmo que estou analisando: https://man7.org/linux/man-pages/man3/scandir.3.html
Abaixo exemplo simplificado do link para essa questão!
Já fiz perguntas similares a essa, mas estou tentando criar um padrão pra entender quando devo ou não usar free
A princípio entendi que só devo usar free quando usar malloc. Ok.
Entendi que tudo é liberado qdo o programa termina! Ok.
Hoje me deparei com um algoritmo que usou o comando free! E estou considerando o comando desnecessário!
Quero entender se estou certo em relação a isso!
Link do Algoritmo que estou analisando: https://man7.org/linux/man-pages/man3/scandir.3.html
Abaixo exemplo simplificado do link para essa questão!
#include <stdio.h>
#include <dirent.h>
int main(void) {
struct dirent **namelist;
int n = scandir(".", &namelist, 0, alphasort);
while(n--) {
printf("%s\n", namelist[n]->d_name);
//free(namelist[n]); // Posso dispensar isso, neste local certo?
}
//free(namelist); // Posso dispensar isso, neste local certo?
}