Hola a todos.
Por fin puedo demostrar con este programita lo que pretendía hacer, sólo que todavía no pude hacerlo con array de puntero a char, seguramente alguien me pondrá algún ejemplo.-
#include<stdio.h>
//funcion para cambiar las posiciones de memoria
void cambiar_punteros(int **x, int **y) {
void *t = *x;
*x = *y;
*y = t;
}
int main(int argc,char *argv[]){
int a1 = 15, a2 = 29, *ptr1=&a1, *ptr2=&a2;
printf("\n\n int a1 = 15, a2 = 29, *ptr1=&a1, *ptr2=&a2;"); printf("\n\n Posiciones y valores iniciales de *ptr1 ---> Valor = %d Direccion = %p",*ptr1
, ptr1
); printf("\n Posiciones y valores iniciales de *ptr2 ---> Valor = %d Direccion = %p\n",*ptr2
, ptr2
);
printf("\n\n Ahora quiero que p1 tenga la posicion de memoria de p2 y a la inversa.\n"); cambiar_punteros(&ptr1,&ptr2);
printf("\n\n Posiciones de memoria cambiados de *ptr1 ---> Valor = %d Direccion = %p",*ptr1
, ptr1
); printf("\n Posiciones de memoria cambiados de *ptr2 ---> Valor = %d Direccion = %p\n",*ptr2
, ptr2
);
return 0;
}

Saludos.
Daniel
