Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [C] Array restituito da una funzione

    All'interno di una funzione creo un array dinamicamente con malloc definendolo all'inizio con:
    int *array;
    array = (int *)malloc(n*sizeof(int));
    come posso riutilizzarlo nella funziona main()? Non riesco a riprenderlo con return...mi da vari errori...la funzione l'ho definita di tipo int...

    Grazie:-)
    GdR Online - http://lenar.it/
    Yesterday is history. Tomorrow is mystery.
    Today is a gift. That's why it's called the present

  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Se vuoi il puntatore allocato dinamicamente devi restituire un int*
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  3. #3
    metto la funzione così:

    Codice PHP:
    main{
    int *array;
    *array=
    miafunzione();
    }


    intmiafunzione(void){
    int *array;
    array = (
    int *)malloc(n*sizeof(int));
    return (*
    a);

    Va bene?
    GdR Online - http://lenar.it/
    Yesterday is history. Tomorrow is mystery.
    Today is a gift. That's why it's called the present

  4. #4
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    mmm...no

    codice:
    main{
    int *array;
    array=miafunzione();
    }
    
    
    int* miafunzione(void){
    int *array;
    array = (int *)malloc(n*sizeof(int));
    return (a);
    }
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  5. #5
    Grazie
    GdR Online - http://lenar.it/
    Yesterday is history. Tomorrow is mystery.
    Today is a gift. That's why it's called the present

  6. #6
    Originariamente inviato da Vre
    metto la funzione così:

    Codice PHP:
    ...
    intmiafunzione(void){
    int *array;
    array = (
    int *)malloc(n*sizeof(int));
    return (*
    a);

    Va bene?
    Questa funzione deve, ovviamente, restituire array ...
    Inoltre n e a da dove saltano fuori ?
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  7. #7
    n lo definisco io:P

    a= array,ho sbagliato a scrivere...cmq così sembra funziona:-)
    GdR Online - http://lenar.it/
    Yesterday is history. Tomorrow is mystery.
    Today is a gift. That's why it's called the present

  8. #8
    Non so se n è una costante o una variabile globare (non voglio credere che lo sia... )
    Ma la tua funzione, in forma contratta, dovrebbe essere così
    codice:
    int* miafunzione(int n)
    {
    	return (int *)malloc(n*sizeof(int));
    }
    Quindi è perfettamente inutile, tanto vale richiamare direttamente la malloc() al suo posto,
    non credi ?
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  9. #9
    io nella funzione creo un array prima con malloc e poi realloco via via più byte...via via che l'utente le inserisce...alla fine della funzione ho un array che ha n posizioni e che voglio riprendere nella funzione main.
    GdR Online - http://lenar.it/
    Yesterday is history. Tomorrow is mystery.
    Today is a gift. That's why it's called the present

  10. #10
    Originariamente inviato da Vre
    io nella funzione creo un array prima con malloc e poi realloco via via più byte...via via che l'utente le inserisce...alla fine della funzione ho un array che ha n posizioni e che voglio riprendere nella funzione main.
    In questo caso è ok
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

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.