Constantes carácter (Informática)

Constantes carácter (Informática)
Información sobre la plantilla
Concepto:Es uno o más caracteres delimitados por comillas simples

Constantes carácter (Informática). Es uno o más caracteres delimitados por comillas simples, como 'A', '+', o '\n'. En C++, son de un tipo específico: char del que existen dos versiones, signed y unsigned. El valor por defecto, el que se supone cuando no se indica nada en concreto (char a secas) depende del compilador, pero puede ser seleccionado.

Tipos char

Las constantes de un carácter, tales como 'A', '\t' y '007', son representados como valores enteros, int (signed). En estos casos, si el valor es mayor que 127, el bit más alto es puesto a -1 ( = 0xFF), es decir, las constantes carácter cuyo valor ASCII es mayor de 127 se representan como números negativos, aunque esto puede ser desactivado declarando que los caracteres son unsigned por defecto.

Cualquiera de los tres tipos carácter: char, signed char y unsigned char, se almacenan en 8-bits (un byte)].

En los programas a C++, una función puede ser sobrecargada con argumentos de cualquiera de los tres tipos: char, signed char o unsigned char (porque son tipos distintos para el compilador). Por ejemplo, los siguientes prototipos de funciones son válidos y distintos:

void func(char ch);
void func(signed char ch);
void func(unsigned char ch);

Sin embargo, si existiera solo uno de dichos prototipos, podría aceptar cualquiera de los tres tipos carácter. Por ejemplo, el código que sigue sería aceptable (se produciría una conversión automática de tipo al pasar el argumento a la función):

void func(unsigned char ch);
void main(void) {
signed char ch = 'x';func(ch); }

Constantes de carácter - ancho

El tipo de caracteres ancho se utiliza para representar juegos de caracteres que no caben en el espacio (1 byte) proporcionado por los carácter normales (char, signed char o unsigned char).

En C++ wchar_t es una palabra clave que representa un tipo especial, el carácter ancho o extendido. Su espacio de almacenamiento depende de la implementación. En el caso de BC++ 5.5 ocupa el mismo espacio que un int, es decir: 4 bytes. En las cadenas de caracteres anchos se ocupan igualmente 4 bytes por carácter. Ejemplos:

wchar_t ch = L'A';
wchar_t *str = L"ABCD";
wchar_t nulo = L'\0' // carácter nulo ancho

Constantes multi-carácter

Las constantes mult-carácter consisten es un máximo de cuatro caracteres y son siempre valores de 32 bits (1 palabra del procesador de 32 bits = 4 octetos). Por ejemplo, la constante '\006\007\008\009'.

Este tipo de constante es válido solamente en programas C++Builder y por tanto, no es portable a otros compiladores. Tanto en C como en C++ (Borland), las constantes multi-caracter son del tipo int.

Véase también


Fuente