Cómo encontrar la longitud de una matriz usando lenguaje C
1. En lenguaje C, después de definir una matriz, puede usar el comando sizeof para obtener la longitud de la matriz (la cantidad de elementos que la matriz puede contener).
Por ejemplo: int?data[4];
int?length;
length=sizeof(data)/sizeof(data[0]); ? //El espacio de memoria total ocupado por la matriz se divide por el espacio de memoria ocupado por un solo elemento
printf("length?of?data[4]=%d",?length?); ?
2. Sin embargo, no es factible obtener la longitud de la matriz pasando el parámetro del nombre de la matriz a la subfunción.
Por ejemplo: int?getLength(int[]?a){
int?length;
length=tamañode(a)/tamañode(a[ 0 ]);?
return?length;
}
Porque a es un parámetro de función, para esta función, a es solo un puntero (dirección Cuando. la función se está ejecutando, el sistema no conoce la dirección del espacio de almacenamiento de datos representado por a. Aquí simplemente le dice a la función: a es la primera dirección del espacio de almacenamiento de datos a [0] es de tipo int, sizeof (! a[0] ) también tiene 4 bytes, por lo que el resultado siempre es 1.
3. Por lo tanto, para obtener la longitud de la matriz, solo puede usar el método anterior en el área de código donde se encuentra la matriz. está definido.