Oppure

Loading
12/08/11 21:53
comina8
Eccomi di nuovo con dei problemi nella mia libreria matematica.

Premettendo il fatto che funziona (anche con l'assembly inline) volevo perfezionarla un po'.

typedef struct
{
int i;
char *p;
}*Struttura;

Creo un puntatore a struttura e lo alloco con la seguente funzione:

void start(Struttura *Num)
{
*Num=(Struttura)calloc(1,sizeof(Struttura));
(*Num)->p=(char*)calloc(100,sizeof(char));
}

Ora nel richiamare la funzione:

Struttura Num;

start(&Num);

Bisogna inserire l'&' anche in alcune funzioni dove devo copiare i puntatori per intero.
La mia idea era di togliere l'&' definendo la struttura come doppio puntatore, quindi (passatemi la frase) l'&' sarebbe automatico...

typedef...
**Struttura;

Solo che quando vado a definire start

void start(Struttura Num)
{
*Num=(Struttura)calloc(1,sizeof(Struttura));
(*Num)->p=(char*)calloc(100,sizeof(char));
}

La definisco allo stesso modo e un codice come questo:

int main()
{
    Struttura Num;

    start(Num);
    stop(Num);

    return 0;
}


non mi da problemi (a parte un warning nella prima calloc). Il problema me lo da dichiarare due variabili (non allocare, solo dichiararne un'altra) mi manda in crash il programma.

Qualcuno sa come mai?
Ultima modifica effettuata da comina8 15/08/11 19:44
aaa