paulo1205
(usa Ubuntu)
Enviado em 21/04/2019 - 12:08h
Valo1s escreveu:
Tenta usar :
free(cadastro)
Todo vetor tem um ponteiro que indica o primeiro endereço de memoria,
Errado. Vetores não têm ponteiros associados, mas, dependendo do contexto, os vetores podem ser convertidos em ponteiros, o que é bem diferente.
O comando free limpa esse endereco de memoria, limpando a primeira posicao, portanto eh como se o vetor nao fosse mais localizado.
Errado novamente.
free() não é um comando, mas sim uma função. Ela não “limpa endereço” nenhum, até porque recebe apenas uma cópia do endereço. Também não altera o conteúdo do endereço recebido, mas simplesmente recoloca no mapa (ou lista, ou tabela) de endereços livres a região de memória indicada pelo parâmetro. Para tanto, porém, essa região de memória tem de ter sido obtida por meio de alocação dinâmica (via
malloc(),
realloc() ou
calloc()), e esse não é o caso de vetores declarados como tais no programa.
... “Principium sapientiae timor Domini, et scientia sanctorum prudentia.” (Proverbia 9:10)