[RISOLTO] Esercizio Stack

di il
4 risposte

[RISOLTO] Esercizio Stack

Sono abbastanza nuovo nel campo della programmazione, quindi credo che l'errore sia davvero molto banale, ma io non riesco a trovarlo, ecco un semplicissimo programma per gestire stack:
#include<stdio.h> 
#include<stdlib.h> 

typedef struct Stk *StackL; 
typedef struct Stk 
    { 
    float key; 
    StackL* link; 
    } 
    Stack; 
main(){ 
Stack x, y; 
x.key=2; 
x.link= NULL; 
y.key=3; 
y.link= malloc(sizeof(struct Stk)); 
y.link= &x; 
}
Quando provo a compilarlo mi da un errore proprio nell'ultima assegnazione, e l'errore è: "assignment from incompatible pointer type". Vorrei capire dove sbaglio e perchè, grazie mille in anticipo.

4 Risposte

  • Re: [RISOLTO] Esercizio Stack

    Perché StackL è già un puntatore e quindi devi scrivere

    StackL link;
  • Re: [RISOLTO] Esercizio Stack

    Ma l'asterisco è postposto, non anteposto, mi serve a far sì che il campo link possa accettare il valore "NULL", un po' come float e float*.
  • Re: [RISOLTO] Esercizio Stack

    Anteposto o postposto in quel modo indichi che link è un puntatore doppio.

    Il NULL lo puoi assegnare tranquillamente se scrivi

    StackL link;
  • Re: [RISOLTO] Esercizio Stack

    Ah ok, grazie mille =)
Devi accedere o registrarti per scrivere nel forum
4 risposte