Uma função recebe parâmetros por referência ou por valor. Quando passado por valor, o conteúdo original não é modificado. Quando é passado por referência, a função recebe o endereço da memória da variável original e qualquer alteração naquele parâmetro vai refletir diretamente na variável inicial. Qual é a sintaxe correta para o protótipo de uma função que tem parâmetros por referência? Assinale a alternativa correta:ALTERNATIVAS
a- int soma(num1, num2);
b- int soma(&num1, &num2);
c- int soma(*num1, *num2);
d- int soma(by ref num1, by ref num2);

1

Respostas

2014-07-11T23:38:26-03:00
Se for na linguagem c, a sintaxe correta é a da alternativa C.

Veja um exemplo de código em que a variável muda depois de ir para a função:




#include <stdio.h>

void dobra(int *num)
{
    (*num) = (*num) * 2;
}
int main(void)
{
    int num = 2;

    printf("Numero antes de ir para funcao: %d", num);

    dobra(&num);

    printf("\n\nNumero depois de ir para funcao: %d\n", num);

    return 0;
}

1 5 1