Una pregunta de principiante
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
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
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.
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.
