Paso por referencia de punteros
El tipico ejemplo de paso de parametros por referencia en c suele ser un intercambio
entre enteros, al que se podria añadir un ejemplo con cadenas de
texto que ademas son punteros.
entre enteros, al que se podria añadir un ejemplo con cadenas de
texto que ademas son punteros.
/** * $Id$ * ejemplo de swap en c * Pello Xabier Altadill Izura */ // Declaracion de funcion swap -paso de parametros por referencias- void swap(int * a, int * b); // swap de cadenas void swap_cadenas(char ** a, char ** b); int main (int argc, char *argv[], char *envp[]) { int a = 45, b = 89; char *cadena_a = "Joe que curioso"; char *cadena_b = "Es que no podemos hacer mas"; // swap de enteros printf("Valor de a: %d Valor de b: %d ",a,b); swap(&a,&b); printf("Y ahora... Valor de a: %d Valor de b: %d ",a,b); // swap de cadenas con punteros printf("Valor de cadena_a: %s Valor de cadena_b: %sn",cadena_a,cadena_b); swap_cadenas(&cadena_a,&cadena_b); printf("Y ahora... Valor de cadena_a: %s Valor de cadena_b: %s ",cadena_a,cadena_b); return 1; } // funcion swap de enteros void swap(int * a, int * b) { int tmp; tmp = *a; *a = *b; *b = tmp; } // funcion swap de cadenas con punteros void swap_cadenas(char ** a, char ** b) { char * tmp; tmp = *a; *a = *b; *b = tmp; }