// Función desde la que no se puede modificar
void Func1(int num)
{
    num = num + 1;
    printf("Dentro de Func1: %d\n", num);
}
 
// Función que sí modifica
void Func2(int *num)
{
    *num = *num + 1;
    printf("Dentro de Func2: %d\n", *num);
}
 
// Ejemplo de su uso
x = 1;
Func1(x);                                // Desde aqui dentro se imprimirá 2
printf("Tras llamar a Func1: %d\n", x);  // Imprimirá 1
Func2(&x);                               // Desde aqui se imprimirá 2
printf("Tras llamar a Func2: %d\n", x);  // Imprimirá 2