COS-121
Estrutura de Dados e Algoritmos
2 Semestre de 2014
Professor Ricardo Farias
Aula 03
// Exemplo #1
#include < windows.h >
void atribui(int n) {
printf( "Na funcao n: %d\n", n ); // mostra o valor 100
n = 5; // atera o valor de n
printf( "Na funcao n: %d\n", n ); // mostra o valor 5
}
void main() {
int x = 100;
printf( "Na main x: %d\n", x ); // mostra o valor 100
atribui(x); /* chamada da funcao atribui
passagem de parametros por valor */
printf( "Na main x: %d\n", x ); /* x nao foi alterado
pela funcao atribui
mostra o valor 100 */
}
// Exemplo #2
#include
int soma(int x, int y) {
return ( x + y );
}
void main() {
int a = 10, b = 20, c;
c = soma( a, b ); // passagem de dois parametros, ambos por valor
printf( "Resultado: %d\n", c);
}
#include
void atribui(int *n) {
printf( "Na funcao n: %d\n", *n ); // mostra o valor da variavel apontada por n - 100
*n = 5; // alterando o valor da variavel apontada por n
printf( "Na funcao n: %d\n", *n ); // mostra o valor da variavel apontada por n - 5
}
void main() {
int x = 100;
printf( "Na main x: %d\n", x ); // mostra o valor 100
atribui(&x); // chamada da funcao atribui - passagem de parametros por referencia
printf( "Na main x: %d\n", x ); // mostra o valor 5 - x FOI ALTERADO pela funcao atribui
}
// Exemplo #2
#include
void soma( int x, int y, int *z ) {
*z = x + y;
}
void main() {
int a = 10, b = 20, c;
soma( a, b, &c ); // c - onde se deseja colocar o resultado, e passada por referencia, as demais por valor
printf( "Resultado: %d\n", c );
}
#include
void main() {
int vet[5]={5,8,10,15,25}, *p;
p = vet;
printf( "%d\n", *p ); // mostra o valor 5
p +=2;
printf( "%d\n", *p ); // mostra o valor 10
p--;
printf( "%d\n", *p ); // mostra o valor 8
}
#include
void main() {
int vet[5]={5,8,10,15,25}, *p;
p = vet;
printf( "%d\n", p[0] ); // mostra o valor 5
printf( "%d\n", p[2] ); // mostra o valor 10
// CUIDADO
p++;
printf( "%d\n", p[0] ); // mostra o valor 8
printf( "%d\n", p[2] ); // mostra o valor 15
}