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

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

1 Funções (versão C/C++) Passagem de variáveis entre funções: Valor Valor Referência Referência Nos dois casos o que é passado para o interior da função.

Apresentações semelhantes


Apresentação em tema: "1 Funções (versão C/C++) Passagem de variáveis entre funções: Valor Valor Referência Referência Nos dois casos o que é passado para o interior da função."— Transcrição da apresentação:

1 1 Funções (versão C/C++) Passagem de variáveis entre funções: Valor Valor Referência Referência Nos dois casos o que é passado para o interior da função é uma cópia do valor da variável apresentada no argumento. Na passagem por valor é passado o valor contido na variável Na passagem por valor é passado o valor contido na variável Na passagem por referência é passada a localização em memória da variável Na passagem por referência é passada a localização em memória da variável A passagem por referência é a mais utilizada quando pretendemos passar objectos complexos para dentro das funções.

2 2 Funções (versão C/C++) Exemplo de passagem por valor: Passagem por referência:

3 3 Funções (versão C/C++) Ponteiros a gogo: char *sp = ola; char *s2 = bom dia; sp=&s2; printf(%s, sp); //bom dia Ponteiro especial para funções: void* double obj=3.14; double *pd = &obj; Void *pv = &obj; pv = pd; void* indica que o valor associado é um ponteiro mas que o tipo desse ponteiro é desconhecido. Pode ser usado para comparar com outro ponteiro ou passar ou retornar de uma função. Pode-se também atribuir a outro ponteiro do tipo void*. Não se pode operar sobre o objecto para o qual aponta!!!

4 4 Funções (versão C/C++) Ponteiros e referências; Int val=1024; Int *pi=&ival; Int &ri = ival; Referências referem-se sempre a um objecto; não é possível definir uma referência sem a inicializar; atribuição a uma referência altera o objecto a que a referência se refere, não o liga a outro objecto, Ponteiros podem-se definir per se; os ponteiros permitem que os objectos permaneçam inalterados mas a atribuição liga-o a outro objecto.

5 5 Funções (versão C/C++) Ponteiros a gogo: double dval; double *pd = &val; double *pd2=pd; int *pe = pd; //erro! Ponteiros de tipo diferente pi = &dval; // OK! int ival =1024, ival2 =2048; int *pi = &ival, *pi2=&ival2; pi=pi2; // pi aponta para ival2; valor de ival2 não modificado int &ri =ival, &ir2 = ival2; // ri e ri2 sao referencias a ival e ival2 ri = ri2; // atribui ival2 a ival; valor de ival modificado No último caso a atribuição altera ival, não o valor referenciado por ri, mas não a referência; as 2 referências referem-se na mesma aos objectos originais e agora o valor desses objectos é o mesmo


Carregar ppt "1 Funções (versão C/C++) Passagem de variáveis entre funções: Valor Valor Referência Referência Nos dois casos o que é passado para o interior da função."

Apresentações semelhantes


Anúncios Google