Ver Mensaje Individual
  #13 (permalink)  
Antiguo 22/03/2012, 05:15
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Cadenas en C/C++

Veo que no entendiste casi nada de lo que dije.... un puntero lo unico que tiene es una direccion.
Es como si yo te doy un papelito con la direccion de mi casa. No te estoy dando mi casa en el papelito solo te estoy dando la direccion, es decir, una ruta como llegar a mi casa.

Vos sabiendo la direccion de mi casa sos capaz de hacer muchas cosas. Sabes como llegar, me podes enviar una carta, etc.

Ahora volviendo a los punteros, este simplemente tiene la direccion donde se alojan los datos. Teniendo esa direccion uno es capaz de modificar o leer esos datos.

Ahora lo siguiente, un puntero , al igual que mi papelito, solo apunta a un dato . Si me quiero correr a la casa sigueinte o al caracter siguiente tengo que sumarle uno a la direccion. Eso se logra cuando ahcemos a[1]..a[2] a[3] etc...

Ahora porque no puedes hacer esto
char a[5];
a = "Hola";

Porque C/C++ son lenguajes de bajo nivel, cada uno administra su memoria. Eso lo que tiene de interesante C/C++ contra otras lenguajes. Pero obviamente al principio no te va a gustar nada eso.
Para copiar una cadena puede usar lo siguiente.

strcpy(a,"Hola");

Esta funcion internamente copia uno a uno cada caracter mediante un for.

Saludos