Aprendizaje de lenguaje C (9) Matriz

matriz unidimensional

1. El formato de definición de una matriz unidimensional es: tipo especificador nombre de matriz [expresión constante], por ejemplo: int a [10], significa que se define una matriz de enteros, el nombre de la matriz es a y hay 10 elementos enteros.

2. Al definir una matriz, debe especificar el número de elementos de la matriz. La expresión constante entre corchetes se utiliza para representar la cantidad de elementos, es decir, la longitud de la matriz.

3. Las expresiones constantes pueden incluir constantes y constantes simbólicas, pero no pueden incluir variables. Nota: El lenguaje C no permite la definición dinámica del tamaño de la matriz, es decir, el tamaño de la matriz no depende del valor de la variable durante la ejecución del programa.

Otros errores comunes en la descripción de la matriz: ① float a[0]; /* El tamaño de la matriz es 0, lo cual no tiene sentido*/

                                            ② int b(2)(3); [ ] /* No se pueden utilizar paréntesis*/

                                            ③ int k, a[k]; /* Las variables no se pueden usar para indicar el tamaño de la matriz*/ 

Dado que una matriz usa un nombre para almacenar múltiples datos del mismo tipo, es necesario acceder a un solo elemento de la matriz por referencia. El formato de la referencia es: nombre de la matriz [subíndice] En lenguaje C, el subíndice de un elemento de la matriz comienza desde Comienza con 0 y debe ser una constante o variable entera. Por lo tanto, la matriz definida anteriormente contiene los elementos: int a= 5; matriz[a] = 99; matriz[0], matriz[1], matriz[2], matriz[3], matriz[4] elementos de datos. es equivalente a una variable en sí misma, por lo que las operaciones sobre elementos de una matriz son similares a las operaciones sobre variables.

Almacenamiento de matrices

El número de bytes ocupados por cada elemento de datos es el número de bytes del tipo base. Un elemento ocupa 4 bytes. El sistema asigna un espacio de almacenamiento contiguo para una matriz. La primera dirección de la matriz es la dirección del elemento 0.

Matriz bidimensional

La forma general de una definición de matriz bidimensional es: tipo especificador nombre de matriz [expresión constante] [expresión constante];

Por ejemplo: defina a como una matriz de 3 × 4 (3 filas y 4 columnas) y b como una matriz de 5 × 10 (5 filas y 10 columnas). De la siguiente manera: float a[3][4], b[5][10];

Nota: Podemos pensar en una matriz bidimensional como una matriz unidimensional especial: sus elementos también son matrices unidimensionales. Por ejemplo: a puede considerarse como una matriz unidimensional, que tiene 3 elementos: a [0], a [1], a [2], y cada elemento es una matriz unidimensional que contiene 4 elementos.

matriz de caracteres

Por ejemplo: char c[10]; c[0]=′I′; c[1]=′ ′; c[2[=′a′; c[3]=′m′; c[4]=′ ′ ; c[5]=′h′; c[6]=′a′; c[7]=′p′; c[8]=′p′; c[9]=′y′; Inicialización del carácter array , se puede asignar carácter por carácter a cada elemento de la matriz. Por ejemplo: char c[10]={'I', '','a','m','','h','a','p', 'p','y'} 

 Para determinar la longitud real de una cadena, el lenguaje C especifica un "indicador de fin de cadena": '\0'.

Hay dos métodos para la entrada y salida de matrices de caracteres: entrada y salida carácter por carácter. Utilice el carácter de formato "%c" para ingresar o generar un carácter. Ingrese o genere la cadena completa a la vez. Utilice el carácter de formato "%s", que significa entrada y salida de cadenas.

Nota: (1) Cuando se utiliza el carácter de formato "%s" para generar una cadena, el elemento de salida en la función printf es el nombre de la matriz de caracteres, no el nombre del elemento de la matriz.

(2) Si la longitud de la matriz es mayor que la longitud real de la cadena, solo se generará hasta que se encuentre '\0'.

(3) Los caracteres de salida no incluyen el terminador '\0'.

(4) Si una matriz de caracteres contiene más de un '\0', la salida finalizará cuando se encuentre el primer '\0'. (5) Puede utilizar la función scanf para ingresar una cadena %s.

 

Supongo que te gusta

Origin blog.csdn.net/ls_dashang/article/details/81226104
Recomendado
Clasificación