Si está definiendo el tamaño de la matriz en tiempo de compilación, su intención es normalmente permitir la asignación de memoria de tiempo de compilación y, en los idiomas que implementan la validación de índice fuera de límites, verifique que durante el tiempo de compilación, si es posible (esto se puede hacer para índices que pueden se resuelva a una constante durante el tiempo de compilación) o durante el tiempo de ejecución para cada acceso a la matriz.
Existe un concepto sólido en la programación sobre tipeo fuerte, que permite que el marco del lenguaje verifique y evite errores, para ayudar al programador. Algunas veces se ha demostrado que la escritura fuerte es demasiado fuerte, por lo que se han desarrollado compromisos a medio plazo, como tipos de variantes, clases virtuales, etc. Pero la idea a tener en cuenta es que alguna forma de tipeo fuerte es buena, en lugar de ser simplemente un obstáculo engorroso.
Por lo tanto, generalmente iría en contra de la filosofía del lenguaje, por así decirlo, cambiar un atributo predefinido de una variable, como su tamaño, durante la ejecución. En el caso en que necesite cambiar el tamaño / reescritura de variables dinámicas, existirá una construcción gramatical específica para decir explícitamente que (por ejemplo: en Basic, una instrucción ReDim puede cambiar el tamaño de la matriz durante la ejecución; algunos dialectos básicos requieren que haga la primera definición de esa matriz con alguna sintaxis que indicará que luego se redimensionará; algunos otros dialectos no); en C puede declarar un puntero y asignar memoria dinámicamente, en lugar de emplear una declaración de variable fija y preestablecida. Algunos idiomas exóticos pueden permitirte hacer lo que quieras como parte cotidiana.
- Cómo demostrar que puedes ir de C a L con secuencias de vuelos
- Siempre sueño con trabajar en grandes empresas tecnológicas como Google o Facebook, pero mi habilidad con los algoritmos es muy débil. Intento resolver problemas en Google Code Jam y CodeChef, pero solo puedo resolver los fáciles. ¿Qué tengo que hacer?
- ¿Abusaron los escritores de los límites de la ecuación 3.10 del CLRS?
- ¿Dónde puedo encontrar las preguntas solo sobre búsqueda y clasificación?
- ¿Es posible proporcionar un análisis de complejidad para todos los algoritmos en términos de theta?