Para os iniciantes em linguagem C/C++, mostro este bom exemplo de
Passagem de parâmetros por referência.
Na verdade o C não entende o que é Passagem de parâmetros por referência, vindo fazer parte já do C++.
Se você salvar este código com a extensão .c,é provável que o gcc mão compile,
más se você salva-lo em .cpp, o g++ compilará o código com sucesso.
Pequeno Resumo do funcionamento:
Colocando um & ( e comercial ), antes de num1 e num2,obtemos o endereço de memória
destas variáveis, substituindo as variáveis n1 e n2, Entenda que os valores originais
de n1 e n2, só funcionam dentro da função main(); Na passagem para a função subs_titui ( int &num1, int &num2 );
são apagados, e em seguida, substituídos pela mesma função.
recebendo então, os valores que foram inicializados em seu corpo.
Copie, cole e compile o código abaixo:
#include <stdio.h>
#include <conio.h>
void subs_titui ( int &num1, int &num2 ){
num1 = 50;
num2 = 500;
}
int main(){
int n1, n2;
printf( "\nDigite um Valor Para n1 ");
scanf("%d", &n1);
printf( "\nDigite um Valor Para n2 ");
scanf("%d", &n2);
printf("\n\nO Valor de n1 é %d \n\nE o valor de n2 é %d", n1, n2 );
printf( "\n\nAgora vamos substituir estes valores: ");
getche();
subs_titui ( n1, n2 );
printf("\n\nO Valor de n1 agora é %d \n\nE o valor de n2 agora é %d", n1, n2 );
getche();
}
Passagem de parâmetros por referência.
Na verdade o C não entende o que é Passagem de parâmetros por referência, vindo fazer parte já do C++.
Se você salvar este código com a extensão .c,é provável que o gcc mão compile,
más se você salva-lo em .cpp, o g++ compilará o código com sucesso.
Pequeno Resumo do funcionamento:
Colocando um & ( e comercial ), antes de num1 e num2,obtemos o endereço de memória
destas variáveis, substituindo as variáveis n1 e n2, Entenda que os valores originais
de n1 e n2, só funcionam dentro da função main(); Na passagem para a função subs_titui ( int &num1, int &num2 );
são apagados, e em seguida, substituídos pela mesma função.
recebendo então, os valores que foram inicializados em seu corpo.
Copie, cole e compile o código abaixo:
#include <stdio.h>
#include <conio.h>
void subs_titui ( int &num1, int &num2 ){
num1 = 50;
num2 = 500;
}
int main(){
int n1, n2;
printf( "\nDigite um Valor Para n1 ");
scanf("%d", &n1);
printf( "\nDigite um Valor Para n2 ");
scanf("%d", &n2);
printf("\n\nO Valor de n1 é %d \n\nE o valor de n2 é %d", n1, n2 );
printf( "\n\nAgora vamos substituir estes valores: ");
getche();
subs_titui ( n1, n2 );
printf("\n\nO Valor de n1 agora é %d \n\nE o valor de n2 agora é %d", n1, n2 );
getche();
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.