LOS APUNTADORES COMO ARGUMENTOS DE FUNCIONES.


La ventaja de emplear los apuntadores como argumentos radica en que los valores que contienen las variables involucradas se alteran de forma global y los nuevos valores pueden ser empleados tanto en el main() como en otras funciones. Cuando los argumentos de una función son variables comunes, sus valores son copiados para su uso local (envío de valores por valor) y, por consiguiente no válidos fuera de esa función. Considere el siguiente ejemplo:


#include<conio.h>

#include<stdio.h>

main()

{

void f1(int v1, int v2);

void f2(int *ap1, int *ap2);

intw1=1, w2=1; /* se delaran variables y sus valores iniciales */

/* se asignan valores a través de apuntadores */

printf("\n Valores antes de llamar a la función w1=w2= %d",w1);

f1(w1,w2);

printf(" Valores después de llamar a la función w1=w2=%d",w1);

printf("\n\n Observe que los resultados son los mismos");

printf("\n cuando no se pasa los argumentos por valor");

printf("\n\n Para continuar oprime una tecla "); getch();

printf("\n valores antes de llamar a la función w1=w2=%d",w1);

f2(&w1,&w2);

printf("\n Valores después de llamar a la función w1=w2=%d",w1);

printf("\n\n Observe que los resultados han cambiado ");

printf("\n Pues ahora se paso los argumentos por dirección");

printf("\n Para continuar presiona una tecla"); getche();

}
 
 

void f1(int v1, int v2)

{

v1=v2=-1;

printf("\n Nuevos valores en la función v1=v2=%d",v1);

}
 
 

void f2(int *ap1, int *ap2)

{

*ap1=*ap2=-1;

printf("\n Nuevos valores en la función *ap1=*ap2= %d",*ap1);

}



Selecciona un tema