A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1

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


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google