C-liste

di il
3 risposte

C-liste

Salve è la prima volta che scrivo in un sito del genere.
è da un paio di giorni che sto cercando di fare un programma con le liste in c ma non capisco cosa sbaglio potreste darmi una mano?In basso vi farò vedere l'errore. Utilizzo Visual Studio 2013. Grazie in anticipo.

#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<stdio.h>

typedef struct s1{
	int prezzo;
	struct s1 *next;
}nodoSpesa, *listaSpesa;

void cons(listaSpesa *pl, int prez){
	listaSpesa aux;
	aux = (listaSpesa)malloc(sizeof(nodoSpesa));
	if (aux != NULL){
		aux->prezzo = prez;
		aux->next = *pl;
		*pl = aux;
	}
}


int main(void){
	listaSpesa L;
	L = NULL;
	int pr = 2;
	cons(L, pr);
}
Errore:
First-chance exception at 0x00F41439 in SecondaParte.exe: 0xC0000005: Access violation reading location 0x00000000.
If there is a handler for this exception, the program may be safely continued.

Penso di stare sbagliando qualcosa con i puntatori, ma non ne sono sicuro. Grazie a chi mi risponderà

3 Risposte

  • Re: C-liste

    E' una violazione di accesso in memoria ed è sicuramente causata da un puntatore sballato.

    E' evidente che quando chiami la funzione cons

    cons(L, pr);

    il primo parametro non sia corretto dato che devi usare un puntatore a L e non L
  • Re: C-liste

    Vero, grazie mille per la risposta
  • Re: C-liste

    Ah, il caro, vecchio, e sottovalutato, LISP

    L)ista
    I)infinita di
    S)tupide
    P)arantesi

Devi accedere o registrarti per scrivere nel forum
3 risposte