Em C, quando uma função é invocada, todos os argumentos são passados "em valor". Assim, a função recebe os valores de variáveis e não os seus endereços. Esta maneira de passar argumentos, conhecida como call by value, é diferente do call by reference usado por outras linguagens.