Menu
Coddy logo textTech

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.

challenge icon

Sfida

Facile

Scrivi 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 10

L'output sarà:

4 12 16 20

Provalo 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