Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/11/2010, 09:46
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: significado de linea de código

Es para acceder a la posición (x,y) de la matriz.

Suponiendo x=3, y=4 (3 columnas, 4 filas), el malloc reserva espacio para 12 flotantes y guarda un puntero a ese espacio en p->datos.
Supongamos ahora que quiero acceder a la columna 2, fila 3 (x=1, y=2):

a.datos -> la matriz
x -> 1: mueve el puntero al primer lugar
y*a.ancho -> y*cantidad de columnas: se desplaza sobre las filas

Veamos paso a paso. Cada [] es una "casilla" de la matriz, de las reservadas por malloc. Agregué las | para ver mejor las casillas que corresponden a cada fila. ^ indica la "casilla" a la que se apunta luego de la suma

Código:
a.datos     [][][] | [][][] | [][][] | [][][]
            ^

+ x         [][][] | [][][] | [][][] | [][][]
  (1)         ^

+ y*a.ancho [][][] | [][][] | [][][] | [][][]
  (3*2=6)                       ^
Finalmente llego a la posición que necesito. el * al principio indica desreferenciar el puntero, y acceder al valor almacenado.


Saludos.