// Ejemplo de tablas de cadenas y tablas de punteros a cadenas #include main() { // Una tabla con 5 cadenas de 20 caracteres como máximo, incluido el '\0' char ttmensajes[5][20] = {"hola","Adios","Buenas","Chao","Hasta luego"}; // Una tabla con 5 puntero a cadenas de tamaño fijo char *tpmensajes[5] = {"hola","Adios","Buenas","Chao","Hasta luego"}; int i; // Tabla de cadenas de tamano fijo printf(" Tamaño de ttmensajes %d\n",sizeof(ttmensajes)); for ( i=0; i<5; i++) { puts(ttmensajes[i]); } // Tabla de punteros printf(" Tamaño de tpmensajes %d\n",sizeof(tpmensajes)); for ( i=0; i<5; i++) { puts(tpmensajes[i]); } // Cabe pues hay hasta 20 caracteres strcpy(ttmensajes[0],"ReHola"); puts(ttmensajes[0]); // La siguiente sentencia puede provocar un // fallo por violación de segmento pues el puntero // sólo tiene espacio para 5 caracteres hola+\0 strcpy(tpmensajes[0],"ReHola"); puts(tpmensajes[0]); }