Cómo determinar la longitud de una matriz en C
C no proporciona una forma integrada de obtener el tamaño de unformación. Tienes que trabajar un poco por adelantado.
Quiero mencionar la forma más sencilla de hacerlo, primero: guardar la longitud de la matriz en una variable. A veces, la solución simple es la que mejor funciona.
En lugar de definir la matriz de esta manera:
int prices[5] = { 1, 2, 3, 4, 5 };
Usas una variable para el tamaño:
const int SIZE = 5;
int prices[SIZE] = { 1, 2, 3, 4, 5 };
Entonces, si necesita iterar la matriz usando un bucle, por ejemplo, usa esoSIZE
variable:
for (int i = 0; i < SIZE; i++) {
printf("%u\n", prices[i]);
}
La forma de procedimiento más sencilla de obtener el valor de la longitud de una matriz es mediante el uso desizeof
operador.
Primero necesitas determinar el tamaño de la matriz. Luego debes dividirlo por el tamaño de un elemento. Funciona porque todos los elementos de la matriz tienen el mismo tipo y, como tal, el mismo tamaño.
Ejemplo:
int prices[5] = { 1, 2, 3, 4, 5 };
int size = sizeof prices / sizeof prices[0];
printf("%u", size); /* 5 */
En vez de:
int size = sizeof prices / sizeof prices[0];
también puedes usar:
int size = sizeof prices / sizeof *prices;
como elpunteroa la cadena apunta al primer elemento de la cadena.
Descarga mi gratisManual de C
Más tutoriales de clang:
- Introducción al lenguaje de programación C
- C Variables y tipos
- C Constantes
- Operadores C
- C Condicionales
- Cómo trabajar con bucles en C
- Introducción a las matrices C
- Cómo determinar la longitud de una matriz en C
- Introducción a las cadenas C
- Cómo encontrar la longitud de una cuerda en C
- Introducción a los punteros C
- Recorriendo una matriz con C
- Booleanos en C
- Introducción a las funciones C
- Cómo usar NULL en C
- Conceptos básicos de E / S en C
- Comillas dobles vs comillas simples en C
- Cómo devolver una cadena de una función C
- Cómo resolver la advertencia de función de biblioteca que declara implícitamente en C
- Cómo verificar el valor de un carácter en C
- Cómo imprimir el carácter de porcentaje usando `printf ()` en C
- Modificadores y especificadores de conversión de C
- Cómo acceder a los parámetros de la línea de comando en C
- Alcance de las variables en C
- ¿Puedes anidar funciones en C?
- Variables estáticas en C
- C Variables globales
- La palabra clave typedef en C
- C tipos enumerados
- Estructuras C
- Archivos de encabezado C
- El preprocesador de C