Passagem de parâmetros por valor e por referencia em Linguagem C
#include <stdio.h>
#include <stdlib.h>
void funcao01(int val, int *ref) {
printf("Antes: Val01 = %d, Val02 = %d\n", val, *ref);
val++; //Valor alterado apenas dentro da função...
*ref = *ref + 1; //Valor da referencia é alterado
printf("Depois: Val01 = %d, Val02 = %d\n", val, *ref);
}
int main() {
int val01 = 3; //Variavel
int *val02 = 3; //Ponteiro
funcao01(val01, &val02);
printf("FINAL: Val01 = %d, Val02 = %d\n", val01, val02);
return 0;
}