Hola y bienvenido.
En esta conferencia, vamos a hablar de matrices de longitud variable.
¿Qué significa esto exactamente?
Bueno, esta es una característica nueva. que se agregó creo que para C99.
Pero hasta este punto, todos saber acerca de las matrices,
además de ser multidimensionales y también siendo una característica interesante donde puedes
almacenar múltiples elementos de datos en una sola variable esencialmente, es que
tienen un tamaño fijo.
Una vez que especifique ese tamaño, tiene que utilizar una constante codificada de forma rígida.
Cuando declaras la variable que especifica
el tamaño y permanece igual.
Matrices de longitud variable es un poco engañoso.
No significa que vas a cambiar el tamaño de la matriz de forma dinámica.
Seguirá siendo lo mismo size, pero ahora puede usar variables.
Entonces, el término variable en variable longitud de matriz no significa que pueda modificar la
longitud de la matriz después de crearla.
Lo que significa es que ahora puedes establezca una variable para usar para esa matriz.
por lo que un VLA todavía se mantendrá del mismo tamaño después de la creación.
La matriz de variables le permite especifique el tamaño y la matriz
con una variable al crear una matriz.
Entonces puedes usar variables, eso es todo lo que realmente significa.
Parece que podría no será tan útil.
Pero en realidad la única razón que realmente se agregó fue
porque ayudó a que realmente existiera bibliotecas y otros idiomas.
Entonces C99 presentó esta nueva característica y se usa y es por eso
que quería mencionarlo.
Solo lo voy a mencionar brevemente, no voy a
proporcionar un caso de uso detallado.
Solo queria decirte que existe porque a veces
ves este término matrices de longitud variable bastante cuando estás leyendo sobre c.
Y no quisiera que vieras y decir
qué diablos significa esto cuando estudiamos matrices y no mencionamos el tema.
Así que se introdujo principalmente para hacer de c un mejor lenguaje para
la computación numérica.
VLA es qué matrices de longitud variable hacer que sea mucho
más fácil convertir las bibliotecas existentes de Fortran rutinas de cálculo numérico c.
Así que esta es la razón por la que se agregó.
Entonces, si eres un Fortran programador, es posible
que desee utilizar esto cuando esté migrando o si está convirtiendo código.
Si está portando su Fortran código que
intenta convertir a c, es posible que desee utilizar este.
No puede inicializar un VLA en su declaración.
Entonces no hay inicialización cuando se habla de
matrices de longitud variable.
Aquí hay algunos tamaños válidos que se puede aplicar al declarar una matriz.
Entonces podemos declarar dos variables y una m.
Y luego ves en la parte inferior cuando decimos float 8 y float a9, podemos usar
esas variables cuando los declaramos en el tamaño de la matriz.
Y eso no estaba permitido antes C99 pero ahora lo es
y eso es VLA, matriz de longitud variable.
Especificar una variable para ser utilizado dentro de una matriz.
No cambia el tamaño en tiempo de ejecución.
Hay otros ejemplos aquí válidos declaraciones de matrices a las que quizás
desee prestar atención.
Perfectamente bien si está estableciendo un matriz a un tamaño específico, como 5.
Puedes usar expresiones cuando asigna el tamaño de una matriz.
Entonces, en el siguiente ejemplo 5 multiplicado por 2 más 1, está bien.
La otra cosa a notar aquí es estamos usando el operador sizeof, y eso también
está perfectamente bien porque que devolverá un int.
Sizeof int va a regresar 4 u 8 dependiendo de la máquina en la que
esté ejecutando y luego estará agregando 1, perfectamente bien.
Poner un número negativo dentro de la declaración de
una matriz, no puede hacer eso.
No existe el 4 negativo.
El tamaño de la matriz tiene que ser mayor que 0.
Así que también cero no funcionará.
2. 5 5 poner un flotador, no puedo hacer eso tampoco tiene sentido.
Como puedes crear una matriz de tamaño 2. 5.
Sin embargo, si pone 2. 5 adentro los corchetes y lo convierte
en un int, está bien.
Una vez más, no quería gastar mucho tiempo en matrices de longitud
variable, solo quiero presentar el concepto.
Si escuchas el término, Sabes lo que es.
Asignar variables a una matriz al declararlos por el tamaño.
Realmente acabo de presentar para compatibilidad con
las bibliotecas Fortran existentes. Gracias.