Untitled

mail@pastecode.io avatar
unknown
c_cpp
a month ago
1.2 kB
1
Indexable
Never
/*
I parametri possono essere passati in due modi principali:

1) Per valore --> viene passata una copia dei valori degli argomenti

2) Per riferimento (uso di puntatori) --> viene passato l'indirizzo delle variabili originali
*/

#include <stdio.h>

void incrementaUno(int x)
{
    x++;
    printf("Dentro la funzione: %d\n", x);
}

void incrementaDue(int *n)
{
    (*n)++;
    printf("Dentro al funzione: %d\n", *n);
}

// Gli array sono SEMPRE passati per riferimento (anche se sembra per valore).
// Questo perché il nome dell'array è un puntatore al primo elemento.
// Quindi non viene passato una copia dell'intero array, ma solo l'indirizzo del
// primo elemento

void stampaArray(int arr[], int dimensione)
{
    int i=0;
    for(i = 0; i<dimensione; i++)
    {
        printf(" %d ", arr[i]);
    }
    
}

int main()
{
    //int x = 10;
    
    /*printf("Prima della funzione: %d\n", x);
    incrementaUno(x);
    printf("Dopo la funzione: %d\n", x);*/
    
    /*printf("Prima della funzione: %d\n", x);
    incrementaDue(&x);
    printf("Dopo la funzione: %d\n", x);*/
    
    int numeri [] = {4, 5, 9, 1};
    
    int dim = 4;
    
    stampaArray(numeri, dim);
    

    
    return 0;

}
Leave a Comment