Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/04/2012, 15:22
DickGumshoe
 
Fecha de Ingreso: enero-2012
Mensajes: 68
Antigüedad: 12 años, 10 meses
Puntos: 0
Duda con un ejemplo de punteros

EDITO: Ya me he dado cuenta qué es. Muchas gracias.

Hola.

En los apuntes que estoy siguiendo para aprender programación, viene este ejemplo:

Código C:
Ver original
  1. int main()
  2. {
  3. int **m, filas, col;
  4. printf(“Introduzca las filas y las columnas:);
  5. scanf(%d %d”, &filas, &col);
  6. m = InicializarMatriz(int filas, int col);
  7. //…
  8. LiberarMatriz(m);
  9. system(“PAUSE”);
  10. }
  11.  
  12. int** Inicializar(int f, int c)
  13. {
  14. int **m, i;
  15. m = (int**)malloc(f * sizeof(int*)); //Inicializamos filas
  16. for(i = 0; i < f; i++)
  17. m[i] = (int*)malloc(c * sizeof(int)); //Inicializamos
  18. columnas
  19. return m;
  20. }
  21.  
  22. void Liberar(int **m, int f)
  23. {
  24. int i;
  25. for(i = 0; i < f; i++)
  26. free(m[i]);
  27. free(m);
  28. }

Todo lo que he visto hasta ahora lo he ido entendiendo. Sin embargo, en este ejemplo, viene un "doble-puntero" (no sé cómo se llamará realmente) a int (me refiero a

int **m, filas, col;

int** Inicializar(int f, int c)

etc.


Nunca me he encontrado en los apuntes qué significaba. Es la primera vez que veo que se puede poner así. Ahora me he quedado con la duda...

¿Qué es lo que hace?

Gracias.

Saludos.