Maga't a put_queue() fv-t teljesen felesleges egy plusz indirekcioval definialnod, eleg igy:
put_queue(queue_ *q,int x){
if (q){
printf ("nem ures\n");
}else{
printf ("ures\n");
// q=malloc(sizeof(queue_));
// q->ui_element=x;
}
if (q){
printf ("nem ures\n");
}
}
akkor van/lenne ertelme annak, hogyha *q = ... ertekadas is van! a q-> ertekadas az mar eleve egyszeresen indirekt, tehat valoban ha csinalsz egy
queue *q;
q=malloc(sizeof(queue));
put_queue(q,137);
hivast, akkor ez ugyanugy feltolti a q objektumot, de statikusan is lehet csinalni:
queue q;
put_queue(&q,137);
a lenyeg ugyanaz.
Es pont emiatt a main()-edben levo" ize is nagyon felreertheto", hasznald valamelyik megoldast a fenti ketto" kozul. Szerintem legalabbis.
szerk: bocs, a kikommentezett reszt ignoraltam, ott van *q ertekadas. ettol fuggetlenul nezd meg, hogy a te problemadra nem-e egyszerubb egy indirekcioval kevesebb, akkor azert konnyebben atlathato' a dolog.
A.