Enviado em 02/11/2016 - 13:23h
Estou tentando criar uma lista em C e quando vou cadastrar um segundo cliente o programa para de funcionar e aparece a seguinte mensagem: malloc: memory corruption#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<locale.h>
typedef struct estru{
struct estru *anterior;
char string[100];
struct estru *abaixo;
struct estru *proximo;
}cliente;
cliente *primeiro = NULL;
cliente *p, *q, *r, *s;
void cadastrarCliente(){
p = (cliente*)malloc(sizeof(cliente*));
p->anterior = NULL;
p->abaixo = NULL;
p->proximo = NULL;
printf("Nome:\t");
scanf("%s;", p->string);
if(primeiro == NULL){
primeiro = p;
}
else{
q->proximo = p;
p->anterior = q;
}
q = p;
primeiro->anterior = p;
p->proximo = primeiro;
}
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
Google Chrome não para de escrever no disco (2)
Notebook samsung 550xda não reconhece mais SSD (1)
Isso ta me cansando [RESOLVIDO] (4)
Inicio de uso do Mint 32bits (19)
Notebook instalado com Linux Debian de fábrica dando problema (3)