[C con Clase] Mas cadenas...

rodolfo rosso paz rodolforossopaz en hotmail.com
Vie Nov 24 21:28:38 CET 2006


Hola Yudenis

char arre[3]="123";    // no estas declarando un arreglo de 4 caracteres 
como dices mas abajo,
                                   solo estas reservando 3 posiciones de 
memoria para tu arreglo

Como ya te explico Salvador en otro de tus correos, el C++ agraga un 
caracter 0 al final de toda cadena. Pero el programador debe tener en cuenta 
ese caracter añadido por  el compilador a la hora de definir el tamaño de 
sus arreglos.

Por lo tanto siempre debes declarar el arreglo con una unidad mas del largo 
maximo que esperas para tu cadena.

char arre[4]="123";    // el compilador le agrega el 0 al final






>From: Yudenis Martínez Abreu <ymabreu en ingenieria.unica.cu>
>Reply-To: Lista de correo sobre C y C++ <cconclase en listas.conclase.net>
>To: "listaC" <cconclase en listas.conclase.net>
>Subject: [C con Clase] Mas cadenas...
>Date: Fri, 24 Nov 2006 14:43:47 -0500
>
>Hola.
>
>Seguimos con las cadenas:
>
>Si escribo:
>
>
>
>     char arre[3]="123";
>
>
>
>el compilador me devuelve este aviso:
>
>initializer-string for array of chars is too long
>
>
>
>No se supone que el arreglo tendría 0,1,2,3 "gavetas" o lo que es lo mismo 
>cuatro espacios de memorias reservados donde almacenaría:
>
>"gavetas"               Caracteres guardados
>
>      0------------------1
>
>      1------------------2
>
>      2------------------3
>
>      3------------------0x00
>
>
>
>=>Suficientes espacios. Por que entonces devuelve ese mensaje el copilador?
>
>                   Como siempre, gracias de antemano,
>
>                                                                          
>Yudenis.
>


>_______________________________________________
>Cconclase mailing list
>Cconclase en listas.conclase.net
>http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net

_________________________________________________________________
Charla con tus amigos en línea mediante MSN Messenger: 
http://messenger.latam.msn.com/





Más información sobre la lista de distribución Cconclase