La Manipulacion de Las Variables en C
Parten de Su Declaración:
Si Declaras Una Variable Tipo char
char Variable_Char;
el Compilador Reservo un Byte de memoria Para la Variable_Char.
Si Declaras UN PUNTERO tipo char
char *Punt_Char;
El Compilador No Reserva Memoria, sino identifica el lugar donde puedes guardar la direccion de cualquier Variable o Arreglo del
tipo char.
Si Declaramos un Arreglo del
char Arreglo_Char[256];
El Compilador Reserva Memoria Para 256 caracteres, Su Puntero es el Nombre del arreglo "Arreglo_Char" y sus elementos estan identificado desde el Primero Arreglo_Char[0]hasta el Ultimo Arreglo_Char[255].
COMO SE MANIPULAN Y POR QUE?
Punt_Char = &Variable_Char;
Si Variable_Char = "A";
Punt_Char Contine la Direccion de la Variable_Char
*Punt_Char contiene el Valor ASCCI de la "A";
Cuando Pasas Una Variable de los tipos Basicos del "C" char,short,int,long,double
Como Argumento a Una Funcion, La Funcion Recibe el Valor Que Contenga al Inicio, y
Cualquier Modificacion que se efectue dentro del cuerpo de la funcion No tedra ningun efecto Sobre la Variable en el Programa que la Llamo. Manteniendo el Valor que Tenia al al Momento de llamar la Funcion.
Si Pasas el Puntero Si Se Puede Modificar el valor de la Variable Dentro de la Funcion.
Si
Punt_Char = Arreglo_Char;
Punt_Char Toma el Valor del Puntero al Primer elemento del Arreglo. (&Arreglo_Char[0])
Y la Unica Forma de Pasar de Pasar Una Variable Compleja Como Parametro a Una Funcion Es Mediante Su Puntero.
Funcion_Char(Arreglo_Char);
o Funcion_Char(Punt_Char);
Espero Te Sirva la Informacion