Una pregunta de principiante

david_s
07 de Agosto del 2003
Hola,

ya se que es una pregunta un tanto básica pero tengo la duda.
Un array hay que declararlo fuera de una funcion? y si es dentro tiene que ser static? porque?

saludos cordiales
David

chuidiang
07 de Agosto del 2003
El array puedes declararlo donde quieras, no deberías tener problemas.

Al declarar un array dentro de una función, ese array es local a la función y desaparece cuando la función sale (con su return). Un error típico suele ser devolver dicho array (un puntero al mismo). Al salir de la función, el array desaparece y el que ha llamado a la función se queda sin array (con un puntero apuntando a una zona de memoria que ya no es valida). Por ese motivo se puede poner estatico. Al hacerlo estatico, ese array no desaparece, pero siempre será el mismo array en todas las llamadas a las funciones, como si fuera un array global, pero que solo se puede ver dentro de la función.

Se bueno.