Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [C] Liste, alberi etc

  1. #1

    [C] Liste, alberi etc

    Mi potete spiegare la differenza tra liste, alberi e tutte le altre strutture che permettono di allocare una specie di array con dimensioni variabili?

    Seconda cosa: conosco abbastanza il C++, ma meno il C, così ho provato, per impararlo meglio, a riscrivere un programma C++ in C...
    Ma ci sono stati diversi problemi...

    Se ho una struttra con un costruttore che accetta dei parametri... Come faccio a richiamare questo costruttore dalla funzione "malloc"? Con la "new" potevo

    Devo fare una funzione membro di una struttara che duplichi l'oggetto con cui è stata richiamata... In C++ per avere quest'oggetto avrei usato "this", ma quì ho visto che non esiste...

    Grazie
    PuffolottO

  2. #2

    Re: [C] Liste, alberi etc

    Originariamente inviato da Puffolott0

    Se ho una struttra con un costruttore che accetta dei parametri... Come faccio a richiamare questo costruttore dalla funzione "malloc"? Con la "new" potevo
    Dici na cosa simile:
    codice:
    typedef struct
    {
      char *code;
    } SProva;
    
    SProva *pProva;
    pProva->code = malloc(100*sizeof(char));
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  3. #3
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936

    Re: Re: [C] Liste, alberi etc

    Originariamente inviato da Luc@s
    Dici na cosa simile:
    codice:
    typedef struct
    {
      char *code;
    } SProva;
    
    SProva *pProva;
    pProva->code = malloc(100*sizeof(char));
    Da ciò che ho capito io inteva una cosa del tipo:
    codice:
    struct xxx {
       int y;
       xxx () {
          y = 0;
       }
       xxx (int a) {
          y = a;
       }
    }
    Con la funzione new del c++ mi pare si possa fare:
    codice:
    struct xxx *Prova;
    Prova = new xxx ( 10 );

    Non so come si faccia con la malloc...
    Io alloco sempre una var normalmente:
    Prova = (struct xxx *) malloc ( sizeof ( struct xxx * ) );
    e poi richiamo una funzione che ne modifica i valori...


    Anche con la seconda domanda che hai posto uso una funzione NON membro della classe a cui passo l'oggetto che deve duplicare... Non mi sono mai posto il problema di come si possa ricavere "this" da una funzione di una struttura in C se non passando l'oggetto via parametro...


    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  4. #4

    Re: Re: Re: [C] Liste, alberi etc

    Originariamente inviato da /dev/null
    Da ciò che ho capito io inteva una cosa del tipo:
    codice:
    struct xxx {
       int y;
       xxx () {
          y = 0;
       }
       xxx (int a) {
          y = a;
       }
    }
    Si puo anche in C usare i costruttori x le strutture?
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  5. #5
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936

    Re: Re: Re: Re: [C] Liste, alberi etc

    Originariamente inviato da Luc@s
    Si puo anche in C usare i costruttori x le strutture?
    No! Ho capito che però cercava un modo di usare i costruttori e richiamarli con la malloc... (non so se voleva dire questo, ma ho capito così io)
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  6. #6

    Re: Re: Re: Re: Re: [C] Liste, alberi etc

    Originariamente inviato da /dev/null
    [saibal]No! Ho capito che però cercava un modo di usare i costruttori e richiamarli con la malloc... (non so se voleva dire questo, ma ho capito così io) [/saibal]
    si ma parla di C non C++.
    Per quello io gli avevo, poco + sopra, risposto in quel modo
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  7. #7
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936

    Re: Re: Re: Re: Re: Re: [C] Liste, alberi etc

    Originariamente inviato da Luc@s
    si ma parla di C non C++.
    Per quello io gli avevo, poco + sopra, risposto in quel modo
    Appunto, gli ho detto di allocare la variabile normalmente, e poi richiamare una funzione che la inizializzi, come fanno i costruttori...
    :master:


    Vabbè, è colpa mia, mi sono espresso male

    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  8. #8

    Re: Re: Re: Re: Re: Re: Re: [C] Liste, alberi etc

    Originariamente inviato da /dev/null
    [saibal]Appunto, gli ho detto di allocare la variabile normalmente, e poi richiamare una funzione che la inizializzi, come fanno i costruttori...
    :master:


    Vabbè, è colpa mia, mi sono espresso male

    [/saibal]
    e io che ho fatto??

    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  9. #9
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012

    Re: [C] Liste, alberi etc

    Originariamente inviato da Puffolott0
    Mi potete spiegare la differenza tra liste, alberi e tutte le altre strutture che permettono di allocare una specie di array con dimensioni variabili?

    Seconda cosa: conosco abbastanza il C++, ma meno il C, così ho provato, per impararlo meglio, a riscrivere un programma C++ in C...
    Ma ci sono stati diversi problemi...

    Se ho una struttra con un costruttore che accetta dei parametri... Come faccio a richiamare questo costruttore dalla funzione "malloc"? Con la "new" potevo

    Devo fare una funzione membro di una struttara che duplichi l'oggetto con cui è stata richiamata... In C++ per avere quest'oggetto avrei usato "this", ma quì ho visto che non esiste...

    Grazie
    PuffolottO
    Forse non hai capto che il C non è ad oggetti

  10. #10

    Re: Re: [C] Liste, alberi etc

    Originariamente inviato da iguana13
    Forse non hai capto che il C non è ad oggetti
    ma sai com'è sempre sti dettagli insignificanti :gren:


    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

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 © 2025 vBulletin Solutions, Inc. All rights reserved.