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

    [c++] puntatori a array e comando new

    ciao a tutti qualcuno mi aiuta a capire sto pezzo di codice?


    int* somma(int* v1,int* v2,int dim)
    {

    int *res;

    res=new int[dim];

    for(int i=0;i<dim;i++)
    {

    res[i]=v1[i]+v2[i];
    }

    return res;
    }



    allora la funzione somma prende:
    l'indirizzo del primo array

    l'indirizzo del secondo array

    il valore di una variabile di tipo int

    viene creato un puntatore res che è uguale a...

    e qui mi inkiodo...:dhò:

    cosa vuol dire new int [dim]

    e cosa "ritorna " la funzione con il comando return res?

    ciao a tutti
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  2. #2

    codice:
    int * res = new int [dim];
    Con questo comando estrai dalla memoria heap l'area necessaria per contenere uno spazio di 2 * dim byte (se un intero vale 2 byte), ed assegni a res l'indirizzo del primo di questi.
    In sostanza richiedi spazio per contenere dim numeri interi, cioè crei un array dinamico di dim elementi interi.

    La funzione somma restituisce il primo indirizzo di questo vettore creato nel heap, il quale risiede nella variabile locale (res).

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    97
    La spiegazione di Michele e' chiara e perfetta.

    Solo un annotazione al programma:
    ogni volta che la funzione somma() viene chiamata, viene allocato uno spazio di memoria pari a 2*dim byte.
    E' importante rilasciate tale area di memoria prima di terminare la chiamata della funzione, in caso contrario, effettuando molteplici chiamate alla funzione somma() si rischia di esaurire tutta la memoria heap disponibile.
    ( si continua ad allocare memoria, ma non si libera mai....).
    In questo caso, alla fine del programma, aggiungi l'istuzione:

    delete []res;

    Ciao

  4. #4
    molto chiari entrambi!

    ciao !
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

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.