Cita de: wiD^ en 2 Marzo 2014, 05:22 AMSoy nuevo con los arrays, y no entiendo cuando te referís a un array de arrays de carácteres, me darías un ejemplo?1) Cuando se manejan valores del mismo tipo en lugar de un montón de variables se utiliza un array, por ejemplo:
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#define NUM_ELEM 10
int main(void)
{
int num[NUM_ELEM]; /* array de int */
int i;
for (i = 0; i < NUM_ELEM; i++){
num[i] = i;
printf("%d\n", num[i]);
}
return EXIT_SUCCESS;
}
2) En C una cadena se almacena en un array de caracteres. Por ejemplo:
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char palabra[] = "Jeremias"; /* array de caracteres */
printf("%s\n", palabra);
return EXIT_SUCCESS;
}
Combinando los puntos anteriores si tu programa debe procesar varias cadenas estas se almacenan en un array de cadenas y como las cadenas se almacenan en arrays de caracteres eso resulta en un array de arrays de caracteres:
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char pal[][5] = {
"Hugo",
"Paco",
"Luis"
};
int num_pals = (int) (sizeof pal / sizeof pal[0]);
int i;
for (i = 0; i < num_pals; i++)
printf("%s\n", pal[i]);
return EXIT_SUCCESS;
}
El uso de sizeof lo veras mas adelante, esta ahí porque lo políticamente correcto es no indicar el numero de elementos de un array si se utiliza (como en el ejemplo) una lista de valores para inicializarlo.
Un saludo