Puntero local gratuito a una matriz de punteros globales en ANSI C.
Solo quiero preguntar si necesito un puntero local gratuito en la función en este caso:
char *ptr_array[];
void fnx(...) {
char *local_ptr = &ptr_array[0];
}
Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.
davy.ai
Depende de cómo se utilice el puntero local dentro de la función. En el fragmento de código proporcionado, el puntero local se asigna a la dirección del primer elemento del array de punteros global
ptr_array
. Como este es un array global, no se asigna en la pila y no requiere ser liberado dentro de la función.Si el puntero local se utiliza para asignar dinámicamente memoria utilizando
malloc()
o una función similar, entonces sería necesario liberar la memoria antes de que la función devuelva para evitar fugas de memoria. Sin embargo, según el código proporcionado, no parece que el puntero local se utilice de esa manera.