Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    7

    [c]allocazione Dinamica Vettore Campo Di Una Struttura

    Salve a tutti! Sono nuovo in questo forum e chiedo perdono nel caso in cui stia scrivendo in una sezione errata. Mi servirebbe un piccolo aiuto. Dovrei allocare dinamicamente vettore che è un campo di una struttura. Ho già allocato dinamicamente una matrice della struttura definita....Mi spiego meglio: in pratica dovrei ottenere una matrice di strutture allocata dinamicamente. Ogni casella della matrice contiene dunque una struttura composta da un campo float (energy1) e da un vettore allocato dinamicamente (energy). Di seguito il codice che ho scritto...ma suppongo ci sia qualche piccolo problema....Qualcuno di voi riesce a darmi una mano?Grazie anticipatamente!


    typedef struct{
    float *energy;
    float energy1;
    }path;

    //alloco la matrice m di tipo variabile path

    path **m =(path **)malloc(256*sizeof(path *));
    for (i=0;i<256;++i)
    m[i]=(path*)malloc(256*sizeof(path));

    for(p=0;p<256;p++)
    for(q=0;q<256;q++)
    m[p][q].energy=(float *)malloc(dim1 *sizeof(float));

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ti sei spiegato molto bene ... parli di "vettore" ma cosa è?

    In poche parole devi allocare una matrice di 256 x 256 elementi di tipo struttura path ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    7
    Si, devo allocare una matrice di strutture path di dimensione 256 x 256. Inoltre il campo "energy" deve essere un vettore allocato dinamicamente di dimensione dim1! Quindi in definitiva, ogni casella della matrice conterrà un vettore allocato dinamicamente "energy" e un float "energy1"....spero di essermi espresso meglio!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Allora il codice mi sembra corretto ... che problemi hai?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    7
    va in segmentation fault....!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    (e dirlo prima?)

    Quanto vale dim1 ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    7
    Scusami, ho dimenticato di scriverlo nel post iniziale!

    int dim1=1401270;

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da gigi89
    int dim1=1401270;
    Stai scherzando ... ... ovvio che va in seg fault ...

    Non puoi mica allocare

    367.334.522.880

    byte di memoria ! (più di 340 GB !)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    7
    Si, il problema è che dovrei leggere da un file con un numero di righe pari a dim1....e non ho molte idee su come fare...!

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ho capito ...

    Comunque, se hai tutti quei dati, non puoi certo caricarli tutti in memoria.

    Altrimenti devi essere più chiaro.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.