Array come parametro
Lezione 9 di 17 del corso Funzioni in C di Coddy.
Una funzione può anche accettare un array come parametro, proprio come qualsiasi altra variabile. L'unica differenza è che un array viene passato alla funzione come puntatore, a differenza degli altri tipi primitivi, che passiamo per valore.
Quando un array viene passato a una funzione, la funzione riceve un puntatore al primo elemento dell'array.
Vediamo un esempio di come usarlo:
#include <stdio.h>
// Definizione della funzione
void printArray(char *arr[]) {
for (int i = 0; i <= 3; i++) {
printf("%s ", arr[i]);
}
printf("\n");
}
int main() {
char *a[] = {"C", "Java", "React", "Python"};
// Chiamata alla funzione
printArray(a);
return 0;
}
Nella funzione main, definiamo un semplice array:
char *a[] = {"C", "Java", "React", "Python"};Nella funzione printArray, eseguiamo un ciclo da 0 a 3 e stampiamo ogni valore:
for (int i = 0; i <= 3; i++) {
printf("%s ", arr[i]);
}L'output sarà simile a questo:
C Java React Python Nota: quando lavoriamo con le stringhe, dobbiamo usare esplicitamente l'asterisco (
*) per indicare al compilatore che ogni stringa (ad esempio, "Java") è un elemento dell'array. Altrimenti, considererà ogni carattere (ad esempio, 'J') un elemento.
Sfida
FacileScrivi una funzione chiamata printDouble che accetti un array di numeri, raddoppi ogni elemento e stampi l'elenco risultante sullo schermo.
Per esempio, dato l'input:
2 6 8 10L'output sarà:
4 12 16 20Provalo tu
#include <stdio.h>
// Definizione della funzione
int main()
{
// Non modificare questo
int nums[] = {10, 6, 22, 40, 1}};
// Chiama la funzione
printDouble(nums);
return 0;
}Tutte le lezioni di Funzioni in C
Esercitati da solo: Compilatore C online