Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/01/2014, 14:01
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Array tipo char

una tabla array o como lo llames es en realidad un puntero a la primera letra de una cadena, ejemplo:

Si en un array guardamos:
char palabra[]="hola";
palabra es un puntero en realidad que apunta hacia la primera letra que es h, la ultima letra es \0 (cero).
Estas intentando modificar la dirección de memoria.
Para guardarlo en alguna parte de la tabla debes hacerlo así:
temp[0]=A[j];
Eso es así por que declaraste temp como tabla y no como variable simples.
Si quieres una variable para guardar un char declararla así:
char temp; y no char temp[10];
si declaras como esta ultima tienes 10 posiciones para guardar
temp[0]
temp[1]
temp[2]
temp[3]
temp[4]
temp[5]
...
temp[9] es la ultima y creo que aquí se guarda el \0 o no lo recuerdo.

temp a secas apunta donde esta guardado la h si escribes temp[3] estas accediendo a la 4 variable de la tabla.
temp y temp[] son 2 cosas distintas.
haz un printf de temp y veras la dirección de memoria de temp[0];

Te dejo algo de lectura sobre eso.
http://platea.pntic.mec.es/vgonzale/..._C/cadenas.htm
Ahí puedes ver como funciona el string en c ;)

Última edición por vangodp; 22/01/2014 a las 14:07