Ver Mensaje Individual
  #14 (permalink)  
Antiguo 18/12/2014, 11:24
Avatar de cursillosonline
cursillosonline
 
Fecha de Ingreso: diciembre-2014
Mensajes: 4
Antigüedad: 9 años, 4 meses
Puntos: 1
Respuesta: ¿Algún alma caritativa que me eche una mano?

Cita:
Iniciado por dehm Ver Mensaje
En el 2º enlace te dice que el estandar C99 sí que permite esta forma.
Pero luego, viendo otros artículos, se alerta del problema que puede ocurrir si el tamaño de la memoria a reservar es demasiado grande y nos quedamos sin espacio en la pila.
[URL="http://www.clarkcox.com/blog/2009/04/07/c99s-vlas-are-evil/"]http://www.clarkcox.com/blog/2009/04/07/c99s-vlas-are-evil/[/URL]
De ahí que esté desaconsejada esta forma

Saludos!
Leyendo un poco más (se que se podian hacer VLAs desde el C99, pero no he leído mucho del tema) el problema es que a diferencia de usar malloc (que retorna null en caso de haber fallado), un VLA puede ser más peligroso por que no retorna null en caso de que no halla memoria suficiente para el arreglo (y en el stack el espacio de memoria es pequeño), pero para arreglos de tamaño pequeños no creo que halla mucho drama, aun así la mayoría recomienda no usarlos.