Imagine que devido ao seu conhecimento em estrutura de dados e linguagem C, sua primeira tarefa na empresa na qual foi contratado é analisar o código legado deixado pela equipe anterior e escrever um relatório sobre todas as funções que não tem comentários ou documentação. Conforme o trecho de código apresentado abaixo, explique o que faz e qual é objetivo da função lista_operacao()?
struct no{
int dado;
struct no *prox;
};
struct lista{
struct no* inicio;
};
void operacao_lista(int valor, struct lista* l){
struct no *ptr = (struct no*) malloc(sizeof(struct no));
struct no *it = l->inicio;
if(ptr != NULL){
ptr->dado = valor;
ptr->prox = NULL;
if(l->inicio == NULL){
l->inicio = ptr;
}
else
{
while(it->prox != NULL){
it = it->prox;
}
it->prox = ptr;
}
}
}
Soluções para a tarefa
A função deve se manifestar como sendo o retorno do código para o numérico com o código de uma primeira caractere que se devem ser usados como sendo usados como o computador. As listas são modelos devem ser considerados como estáveis.
Uma lista deve ser representado como sendo uma sequência de certos objetos que devem ser separados com a vírgula e com dentro de colchetes, uma lista vazia, como exemplo, deve ser representado por sendo colchetes sem conteúdo nenhum.
Espero ter ajudado.
Resposta:
Explicação:
a função recebe um valor inteiro e uma referencia de lista l, aloca um *ptr com o tamanho da estrutura no e cria um *it que aponta para o início da lista l.
Se ptr é diferente de nulo, este recebe o valor recebido na função a variável dado e a variável prox recebe nulo. Depois disso, se o início da lista é nulo, ou seja, a lista está vazia, a posição inicial da lista recebe ptr, caso contrário a lista
é percorrida até que que a variável de iteração encontre o fim da lista, então ptr é colocado no final da lista.