Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 26

Discussione: [C] sizeof e tipo void

  1. #11
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    e forzato a void ?

    Come fai ?

    Che stai dicendo ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  2. #12
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    e è un tipo di dato strutturato chiamato clause che passo come parametro alla funzione v_ins.

    codice:
    void   v_ins   (vec * v, void* e)
    {
     v->ptr[v->index++] = e;
    }

  3. #13
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Mi dispiace, ma stai facendo un bel po' di confusione ...

    Cosi' come stai raccontando le cose, non si capisce nulla, ne' di come sta la situazione attuale, ne' di dove vuoi arrivare ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #14
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Ok, facciamo le cose un passo alla volta (perchè dev-c++ non m aiuta in questo senso).

    se io scrivo questo codice:
    codice:
     v->ptr = (void **) malloc(num_el);
    significa che sto allocando un certo numero num_el di byte in memoria, giusto?
    Siccome però il tipo di dato è void cosa succede in memoria??

    Cioè io alloco un certo num_el di elementi che hanno peso??

  5. #15
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Hai allocato num_el bytes.

    Ma ptr di che tipo e'?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #16
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    void** ptr;

    è un puntatore a puntatore di tipo void

  7. #17
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Okay ... hai quel puntatore e i tuoi byte allocati ... quindi ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #18
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Intanto: è corretto come ho fatto?

    Poi:
    codice:
    void   v_ins   (vec * v, void* e)
    {
     v->ptr[0] = e;
    }
    in questa funzione passo l'inidirizzo di e (che nei parametri formali è void, ma in quelli attuali è un tipo strutturato chiamato clause).
    L'assegnamento che faccio è corretto??

    Non devo allocare memoria per ptr[0]?

  9. #19
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Downloader
    Non devo allocare memoria per ptr[0]?
    Stai inserendo un puntatore in ptr[0] e quindi devi allocare lo spazio per un puntatore alla struttura ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #20
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Ma come mai Dev-C++ non mi dice nulla e mi fa eseguire il programma correttamente?
    Mi mettono confusione queste cose...

    Riprendendo la tua risposta:
    ma se il tipo di dato di e è void, cosa vado ad allocare??
    mi hai detto che se non so il tipo del dato non posso fare allocazioni.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.