Ir para conteúdo
Fórum Script Brasil
  • 0

Teoria


viciado

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0

Passagem por valor cria uma cópia de um valor dentro da função.

Passagem por referência altera a posição da memória que armazena a informação da variável.

Em C, não há passagem por referência, nativamente.Mas usa-se ponteiros para simular esse tipo de passagem

http://www.google.com/search?hl=pt-BR&...tro&spell=1

Link para o comentário
Compartilhar em outros sites

  • 0

Cada variável tem um endereço na memória.

Quando você passa uma variável por parametro, você faz uma cópia desta variável.

Quando você passa uma variável por referência, você passa o endereço na memória.

#include <stdio.h>

void multiplicar(int a, int b) {
    a *= b;
}

int main(void) {
    int a = 5;
    int b = 10;

    multiplicar(a, b);
    printf("%d - %d\n", a, b); /* 5 - 10 */
    
    multiplicar(&a, b); /* & é o símbolo para pegar seu endereço, uma referência */
    printf("%d - %d\n", a, b); /* 50 - 10 */

    return 0;
}

Veja aí se conseguiu entender. Caso não, poste que eu tento dar outra explicação.

Abraços!

EDIT: Demorei um tempo pra escrever o exemplo que nem vi que o Beraldo tinha postado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...