Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGabrielle Migues Alterado mais de 9 anos atrás
2
Argumentos por valor Passagem de valor da variável indicada Não permite alteração de variável indicada Exemplo: int quadrado_de(int ); //protótipo int main(){ int nro; cin>>nro; int q = quadrado_de(nro); //chamada da função return (0); } //definição da função int quadrado_de(int x){ return (x * x); }
3
Argumentos por referência Passagem de endereço da variável indicada Permite alteração de variável indicada Exemplo: int conta_letras(char []); //protótipo int main(){ char palavra[50]; cin>>palavra; int nro = conta_letras(palavra);//chamada da função return (0); } //definição da função int conta_letras(char vetor[]){ for (int i=0, cont=0; vetor[i] != 0; i++) cont++; return (cont); }
4
Argumentos por referência Exemplos: a) Por Valor b) Por Referência int quadrado_de_r(int &x) { x = x * x; return (x); }..... int nro1, quadrado; nro1=2; quadrado = quadrado_de(nro1); //aqui nro1 = 2 e quadrado = 4 int v = quadrado_de_r(nro1); //aqui nro1 = 4 e v = 4 int quadrado_de(int x) { return (x * x); }
5
Argumentos por referência Exemplos: a) Por Valor – cria variáveis..... int nro1, quadrado; nro1=2; quadrado = quadrado_de(nro1); //aqui nro1 = 2 e quadrado = 4 int quadrado_de(int x) { return (x * x); } área de dados nro1=? quadrado=? -------------------- área de código -------------------- área de pilha
6
Argumentos por referência Exemplos: a) Por Valor – inicializa variável “nro1” com “2”..... int nro1, quadrado; nro1=2; quadrado = quadrado_de(nro1); //aqui nro1 = 2 e quadrado = 4 int quadrado_de(int x) { return (x * x); } área de dados nro1=2 quadrado=? -------------------- área de código -------------------- área de pilha
7
área de dados nro1=2 quadrado=? -------------------- área de código -------------------- área de pilha tmp=2 Argumentos por referência Exemplos: a) Por Valor – copia valor na pilha e invoca função..... int nro1, quadrado; nro1=2; quadrado = quadrado_de(nro1); //aqui nro1 = 2 e quadrado = 4 int quadrado_de(int x) { return (x * x); }
8
Argumentos por referência Exemplos: a) Por Valor – executa função e grava valor napilha..... int nro1, quadrado; nro1=2; quadrado = quadrado_de(nro1); //aqui nro1 = 2 e quadrado = 4 int quadrado_de(int x) { return (x * x); } área de dados nro1=2 quadrado=? -------------------- área de código -------------------- área de pilha tmp=4
9
Argumentos por referência Exemplos: a) Por Valor – retorna da função e atribui valor da pilha para a variável “quadrado”..... int nro1, quadrado; nro1=2; quadrado = quadrado_de(nro1); //aqui nro1 = 2 e quadrado = 4 int quadrado_de(int x) { return (x * x); } área de dados nro1=2 quadrado=4 -------------------- área de código -------------------- área de pilha tmp=4
10
Argumentos por referência Exemplos: a) Por Valor..... int nro1, quadrado; nro1=2; quadrado = quadrado_de(nro1); //aqui nro1 = 2 e quadrado = 4 int quadrado_de(int x) { return (x * x); } área de dados nro1=2 quadrado=4 -------------------- área de código -------------------- área de pilha
11
Argumentos por referência Exemplos: b) Por Referência – Passa o endereço da variável !! int quadrado_de_r(int &x) { x = x * x; return (x); }..... int nro1, v; nro1=2; v = quadrado_de_r(nro1); //aqui nro1 = 4 e v = 4 área de dados End.|Nome|Valor 30 |nro1 | ? 40 |v | ? -------------------- área de código -------------------- área de pilha
12
Argumentos por referência Exemplos: b) Por Referência – aloca variáveis int quadrado_de_r(int &x) { x = x * x; return (x); }..... int nro1, v; nro1=2; v = quadrado_de_r(nro1); //aqui nro1 = 4 e v = 4 área de dados End.|Nome|Valor 30 |nro1 | ? 40 |v | ? -------------------- área de código -------------------- área de pilha
13
Argumentos por referência Exemplos: b) Por Referência – inicializa variável “nro1” int quadrado_de_r(int &x) { x = x * x; return (x); }..... int nro1, v; nro1=2; v = quadrado_de_r(nro1); //aqui nro1 = 4 e v = 4 área de dados End.|Nome|Valor 30 |nro1 | 2 40 |v | ? -------------------- área de código -------------------- área de pilha
14
Argumentos por referência Exemplos: b) Por Referência – copia endereço na pilha e chama a função int quadrado_de_r(int &x) { x = x * x; return (x); }..... int nro1, v; nro1=2; v = quadrado_de_r(nro1); //aqui nro1 = 4 e v = 4 área de dados End.|Nome|Valor 30 |nro1 | 2 40 |v | ? -------------------- área de código -------------------- área de pilha tmp = 30
15
Argumentos por referência Exemplos: b) Por Referência – Executa função int quadrado_de_r(int &x) { x = x * x; return (x); }..... int nro1, v; nro1=2; v = quadrado_de_r(nro1); //aqui nro1 = 4 e v = 4 área de dados End.|Nome|Valor 30 |nro1 | 4 40 |v | ? -------------------- área de código -------------------- área de pilha tmp = 30
16
Argumentos por referência Exemplos: b) Por Referência – retorna da função e atribui resultado p/ “v” int quadrado_de_r(int &x) { x = x * x; return (x); }..... int nro1, v; nro1=2; v = quadrado_de_r(nro1); //aqui nro1 = 4 e v = 4 área de dados End.|Nome|Valor 30 |nro1 | 4 40 |v | 4 -------------------- área de código -------------------- área de pilha tmp = 30
17
Argumentos por referência Exemplos: b) Por Referência – retorna da função e atribui resultado p/ “v” int quadrado_de_r(int &x) { x = x * x; return (x); }..... int nro1, v; nro1=2; v = quadrado_de_r(nro1); //aqui nro1 = 4 e v = 4 área de dados End.|Nome|Valor 30 |nro1 | 4 40 |v | 4 -------------------- área de código -------------------- área de pilha tmp = 30
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.