De: Antonio Scuri <antonio.sc...@gmail.com> Enviado: quinta-feira, 16 de julho de 2020 19:00 Para: IUP discussion list. Assunto: Re: [Iup-users] IUP assorted issues (part IV)
> Yes, there are two integers there. And we provide an array with twice the > size, but count still contains just the >number of points. It is correct. IMHO, I can't see how this can work. #include <stdio.h> typedef struct CPOINT { long x; long y; } POINT, *PPOINT; void cast_to_point(int * ipoints, int count) { POINT * cpoints; int i; cpoints = (POINT*) ipoints; for(i = 0; i < count; ++i) { printf("cpoints[%d]->x=%ld\n", i, cpoints[i].x); printf("cpoints[%d]->y=%ld\n", i, cpoints[i].y); } } int main() { int ipoints[6]; ipoints[0] = 180; ipoints[1] = 50; ipoints[2] = 180; ipoints[3] = 20; ipoints[4] = 230; ipoints[5] = 70; cast_to_point(ipoints, 3); } output: cpoints[0]->x=214748364980 cpoints[0]->y=85899346100 cpoints[1]->x=300647710950 cpoints[1]->y=0 cpoints[2]->x=0 cpoints[2]->y=135050311015237 I think is better declare a struct point for the IUP use. typedef struct IUP_POINT { long x; long y; } point_t,; regards, Ranier Vilela _______________________________________________ Iup-users mailing list Iup-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/iup-users