Tema: C
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 16/04/2007, 21:40
Avatar de Instru
Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años, 1 mes
Puntos: 52
Re: C

Te lo voy a explicar de una manera rapida y resumida.

char es, en las arquitecturas x86, un byte.

char var;

Esto tiene sólo espacio para UN byte.
Y un byte sólo puede contener un caracter ASCI.

Si tienes una array así:

char var[3];

quiere decir que tienes 3 bytes.

var[0]->byte número 1
var[1]->byte número 2
var[2]->byte número 3.

Entonces solo puedes contener 3 caracteres.

Pero.

Si haces eso:

char car[3]="abc";

hay un pequeño error. Las cadenas de texto siempre terminan con un valor null.
entonces en realidad tendrias algo asi:

"abc\0"

por lo que ya son 4 bytes.
(se supone es asi, no tengo la total seguridad)

Entonces ya tienes que hacer algo asi:

char var[4]="abc";

(Continua)