un código de ejemplo para iniciar la pregunta:bucle de una matriz de tamaño fijo sin definir su tamaño en C
#define FOO_COUNT 5
static const char *foo[] = {
"123",
"456",
"789",
"987",
"654"
};
La forma en que esto normalmente se itera sobre, como por un ejemplo, es el siguiente:
int i = FOO_COUNT;
while (--i >= 0) {
printf("%s\n", foo[i]);
¿Hay alguna forma de hacer lo anterior sin contar explícitamente con el número de humanos el número 5? En el futuro podría agregar/eliminar elementos y olvidar actualizar el tamaño de la matriz, rompiendo así mi aplicación.
sería esto todavía funciona si los punteros de caracteres en foo apuntaban a cadenas de caracteres de tamaño variable? – randombits
Sí (15 límite char) –
así que si cualquier elemento supera los 15 caracteres, esta comprobación fallará? probablemente mejor usar el centinela NULL entonces? gracias de nuevo – randombits