ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Diagramas C


Enviado por   •  15 de Noviembre de 2013  •  317 Palabras (2 Páginas)  •  326 Visitas

Página 1 de 2

Cuando C pasa argumentos a funciones, los pasa por valor, es decir, si el parámetro es modificado dentro de la función, una vez que termina la función el valor pasado de la variable permanece inalterado.

Hay muchos casos que se quiere alterar el argumento pasado a la función y recibir el nuevo valor una vez que la función ha terminado. Para hacer lo anterior se debe usar una llamada por referencia, en C se puede simular pasando un puntero al argumento. Con esto se provoca que la computadora pase la dirección del argumento a la función.

Para entender mejor lo anterior consideremos la función swap () que intercambia el valor de dos argumentos enteros:

Void swap (int *px, int *py);

main()

{

int x, y;

x = 10;

y = 20;

printf("x=%d\ty=%d\n",x,y);

swap(&x, &y);

printf("x=%d\ty=%d\n",x,y);

}

void swap(int *px, int *py)

{

int temp;

temp = *px; /* guarda el valor de la direccion x */

*px = *py; /* pone y en x */

*py = temp; /* pone x en y */

Cuando C pasa argumentos a funciones, los pasa por valor, es decir, si el parámetro es modificado dentro de la función, una vez que termina la función el valor pasado de la variable permanece inalterado.

Hay muchos casos que se quiere alterar el argumento pasado a la función y recibir el nuevo valor una vez que la función ha terminado. Para hacer lo anterior se debe usar una llamada por referencia, en C se puede simular pasando un puntero al argumento. Con esto se provoca que la computadora pase la dirección del argumento a la función.

Para entender mejor lo anterior consideremos la función swap () que intercambia el valor de dos argumentos enteros:

Void swap (int *px, int *py);

main()

{

int x, y;

x = 10;

y = 20;

printf("x=%d\ty=%d\n",x,y);

swap(&x, &y);

printf("x=%d\ty=%d\n",x,y);

}

void swap(int *px, int *py)

{

int temp;

temp = *px; /* guarda el valor de la direccion x */

*px = *py; /* pone y en x */

*py = temp; /* pone x en y */

...

Descargar como (para miembros actualizados) txt (2 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com