📅  最后修改于: 2023-12-03 15:03:31.970000             🧑  作者: Mango
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.
tipo nome_array[lunghezza];
Ad esempio, per dichiarare un array di interi di lunghezza 5:
int my_array[5];
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.
#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
.