funções passagem por valor e por referência passo a passo

23
Funções Passagem por valor e por referência passo a passo

Upload: alexandre-deluca-bentes

Post on 07-Apr-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Funções Passagem por valor e por referência passo a passo

Funções

Passagem por valor e por referênciapasso a passo

Page 2: Funções Passagem por valor e por referência passo a passo

Funções

Esta apresentação visa exemplificar casos de chamadas de funções com passagem por valor e por referência.

A passagem por valor copia um valor para uma variável em outra função.

A passagem por referência recebe um ponteiro, ou seja, um endereço de memória.

Código dessa apresentação: http://dl.dropbox.com/u/3466878/codigosMonitoria/referencia.c

Page 3: Funções Passagem por valor e por referência passo a passo

Legenda A tabela representa a memória, e possui linhas e

colunas. Por simplificação, cada “informação” aparece ali com

o mesmo tamanho (ocupam, sempre, 1 quadrado só). Na realidade, cada tipo de dado ocupa uma quantidade

diferente de bytes (por exemplo, int tem tamanho 4 (bytes), char tem 1, ponteiros têm 4).

Um endereço é da forma <linha><coluna>. Ex:

05 = linha 0, coluna 5 203 = linha 20, coluna 3

Page 4: Funções Passagem por valor e por referência passo a passo

Legenda

Page 5: Funções Passagem por valor e por referência passo a passo

Legenda

A cada passo, as mudanças na memória relevantes estão destacadas, com cores diferentes (em geral, ficam em vermelho e com o mouse em cima, exceto para a última função, cuja cor é vermelha e as letras ficam brancas quando mudam).

Os printf's usam as variáveis no estado em que estão na figura.

Page 6: Funções Passagem por valor e por referência passo a passo
Page 7: Funções Passagem por valor e por referência passo a passo
Page 8: Funções Passagem por valor e por referência passo a passo
Page 9: Funções Passagem por valor e por referência passo a passo
Page 10: Funções Passagem por valor e por referência passo a passo
Page 11: Funções Passagem por valor e por referência passo a passo
Page 12: Funções Passagem por valor e por referência passo a passo
Page 13: Funções Passagem por valor e por referência passo a passo
Page 14: Funções Passagem por valor e por referência passo a passo
Page 15: Funções Passagem por valor e por referência passo a passo
Page 16: Funções Passagem por valor e por referência passo a passo
Page 17: Funções Passagem por valor e por referência passo a passo
Page 18: Funções Passagem por valor e por referência passo a passo
Page 19: Funções Passagem por valor e por referência passo a passo
Page 20: Funções Passagem por valor e por referência passo a passo
Page 21: Funções Passagem por valor e por referência passo a passo
Page 22: Funções Passagem por valor e por referência passo a passo

Observações

Note que as variáveis ponteiros não mudam seu próprio valor nas funções (ou seja, apontam sempre para a mesma posição de memória).

As posições apontadas por ela, no entando, mudam quando utiliza-se o asterisco Ex: (*variavel) = 3;

Page 23: Funções Passagem por valor e por referência passo a passo

Dúvidas?

matheuslin.wordpress.com [email protected]