Índice

Ejemplos de uso de tablas

1. Cadenas de caracteres

Cadena de caracteres

Una cadena de caracteres (string en inglés) es una serie de caracteres almacenados en una tabla de char y terminada por el carácter ’\0’.

string char

El ’\0’ marca el fin de la cadena, sea cual sea el tamaño de la tabla, pero el número total de caracteres en la cadena nunca puede sobrepasar el tamaño de la tabla.

Todas las funciones de tratamiento de cadenas se basan en el ’\0’ final para encontrar el final de la cadena, y nunca en el tamaño de la tabla.

Una tabla de char puede inicializarse con una cadena de caracteres, por ejemplo:

char s[100]="hola!\n"; // 7 caracteres en la cadena: ’\0’ implícito 
                       // el resto de la tabla no se usa 
   printf(s); 
   s[0]=’s’; 
   s[3]=’e’; 
   printf(s);

La cadena "hola!\n" es una cadena de caracteres constante (tal cual es, no puede modificarse). La propia máquina añade un ’\0’ a todas las cadenas de caracteres constantes. Es por ello por lo que hay en esta cadena 7 caracteres en total: 4 letras, un símbolo de admiración (!), un retorno de carro y el ’\0’ final. La tabla s se inicializa con esta cadena de 7 caracteres, pero es este el único caso en que el operador de asignación se puede usar en C para copiar una cadena de caracteres. En el resto de los casos hay que usar la función strcpy().

strcpy

En caso de olvidarse el ’\0’ final, ...