Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    [C] Ritornare un array bidimensionale

    Ho una funzione che dovrebbe ritornare un array bidimensionale. Come faccio a memorizzare l'array bidimensionale in una variabile nel programma principale? Esempio:

    double* Funzione(.....)

    double k[4][4];
    .......
    (varie operazioni)
    .......
    return k;

    *********

    (programma)

    double *variabile;
    variabile=Funzione(......)
    ....
    ecc..

    Grazie.

  2. #2
    La restituzione al chiamante dell'indirizzo di una variabile locale, implica generalmente un crash..

  3. #3
    Mi puoi fare un esempio di come dovrebbe essere fatto?

  4. #4
    Conosci l'allocazione dinamica?
    Se non la conosci, allora è inutile che ti faccia un esempio, perché potrebbe essere fuorviante.

  5. #5
    In alternativa potresti dichiarare la matrice nella main,
    e passarla alla funzione come parametro.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  6. #6
    Originariamente inviato da MacApp
    Conosci l'allocazione dinamica?
    Se non la conosci, allora è inutile che ti faccia un esempio, perché potrebbe essere fuorviante.
    Si la conosco! Puoi scrivere tranquillamente un esempio.

    Ciao.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Se la conosci, ci arrivi da solo ... usa la malloc ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Va bè...... grazie lo stesso!

  9. #9
    Originariamente inviato da Matthew82
    Va bè...... grazie lo stesso!
    Scusa ma non capisco perchè vuoi complicarti la vita
    Se usi una matrice come quella che hai mostrato nel tuo esempio :

    double k[4][4];

    Che bisogno hai di ricorrere all'allocazione dinamica ?

    Come ti ho già scritto la dichiari nella main, e la passi come
    argomento alla tua funzione, invece di dichiararla nella
    funzione come fai ora.

    Altrimenti spiega meglio cosa deve fare la tua funzione.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  10. #10
    oppure dichiarala statica
    codice:
      ...
      static double k[4][4];
      ...

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