📌  相关文章
📜  passare un array a una funzione - C++ (1)

📅  最后修改于: 2023-12-03 15:03:31.970000             🧑  作者: Mango

Passaggio di un array a una funzione in C++

In C++, gli array sono collezioni di elementi dello stesso tipo. Passare un array a una funzione permette di manipolare i suoi elementi all'interno della funzione stessa, senza dover creare una copia dell'intero array. In questo modo, è possibile evitare sprechi di memoria e migliorare le performance del programma.

Dichiarazione di un array in C++
tipo nome_array[lunghezza];

Ad esempio, per dichiarare un array di interi di lunghezza 5:

int my_array[5];
Passaggio di un array come argomento

Per passare un array come argomento a una funzione, è necessario specificare il nome dell'array senza la dimensione tra parentesi quadre [].

void mia_funzione(tipo nome_array[], int lunghezza) {
    // manipolazione degli elementi dell'array
}

Ad esempio, una funzione che riempie di zeri un array di interi di lunghezza data:

void azzera_array(int my_array[], int lunghezza) {
    for (int i = 0; i < lunghezza; i++) {
        my_array[i] = 0;
    }
}

Il nome dell'array in questo caso può essere qualsiasi, poiché l'array è passato per riferimento e non per valore.

Esempio completo
#include <iostream>

void azzera_array(int my_array[], int lunghezza);

int main() {
    int my_array[5] = {1, 2, 3, 4, 5};
    std::cout << "Array iniziale: ";
    for (int i = 0; i < 5; i++) {
        std::cout << my_array[i] << " ";
    }
    std::cout << std::endl;
    
    azzera_array(my_array, 5);
    
    std::cout << "Array modificato: ";
    for (int i = 0; i < 5; i++) {
        std::cout << my_array[i] << " ";
    }
    std::cout << std::endl;
    
    return 0;
}

void azzera_array(int my_array[], int lunghezza) {
    for (int i = 0; i < lunghezza; i++) {
        my_array[i] = 0;
    }
}

In questo esempio, la funzione azzera_array prende come argomenti un array di interi e la sua lunghezza, e assegna il valore 0 a ciascun elemento. La funzione è chiamata nel main, passando l'array dichiarato inizialmente come argomento. Il programma visualizza l'output prima e dopo la chiamata di azzera_array.