Closed alisonaran closed 3 years ago
@alisonaran você pode colocar exatamente as linhas de código de seu programa aqui?
Não deu pra entender exatamente o que você fez
Claro professor, obrigado! Não sabia se podia colocar rsrsrs. Ele compila mas dá o erro indicado acima. Aí está o código:
typedef struct No{
int dado;
struct No*ant;
struct No*prox;
}No;
typedef struct No*p_no;
p_no criar_lista(){
return NULL;
}
p_no novo;
novo = malloc(sizeof(No));
@alisonaran era pra postar só o trecho do código, não o código inteiro 👎
De todo jeito, eu editei o seu código.
Provável que o erro está literalmente no seu malloc
.
Você pode notar que novo
é uma variável do tipo p_no
. Entretanto, você está tentando alocar memória do tamanho da estrutura No
, que é muito maior (pois ela possui um inteiro e dois apontadores).
Poxa, desculpe professor. Entendi errado sobre postar o código. Assim, entendi que devo mudar o trecho: novo = malloc(sizeof(No)); para _novo = malloc(sizeof(pno)); ? Muito obrigado!
Alison.
@alisonaran isso faz muito sentido para mim.
Seu código funcionou com esta modificação?
Oi, boa noite! No lab 03 estou com erro 139. No susy, tive a seguinte mensagem: (tamanho máximo da pilha ou da memória dinâmica excedido, ou talvez apontador inválido (código 139)
Vi outro post sobre este assunto, mas não entendi se estou cometendo o mesmo erro. Eu declarei "novo" como sendo um "p_no" (struct para lista duplamente ligada) e fiz: novo = malloc(sizeof(No)); Isto estaria errado? Se sim, como devo declarar o novo? Poderiam dar uma olhada no código que fiz e me dar uma luz? Obrigado!