C-ben tudok bevinni egy ciklus alá olyan változót amely csak egyszer tárolódik el?
mondjuk
for(i=0;i<10;i++)
{
k=i+5;
}
Itt pl. a k 5 marad folyamatosan. Ha nem létezik ,hogyan tudnék megoldani egy ilyen problémát?
Csak azt nem írtad le, hogy mit szeretnél. (vagy csak én nem értem)
Nézd:
k=5;
for(...
Így 5 lesz a k.
for(i=0,k=i+5;i<10;++i) { ...
Így is.
Ezen kívül mi kell?
Így néz ki a programom:
while (fscanf(fp, "%s", &x)==1)
{
p = (adatok*)malloc(sizeof(adatok));
strcpy(p->x, x);
p->next = lista;
lista = p;
}
és ugye ekkor nincs header pointerem ami a lancolt lista elejere mutat így nem tudm bejárni egy másik programrészben. Hogyan kapom vissza az első elemre mutató pointert?
Ja, hogy ja.
Hát sehogy :D
Mivel egy darab adatok típusú pointered van, ezért ha ezt átállítod egy bármilyen elemre, elveszted az elejét.
Tehát:
csinálsz egy "eleje" nevezetű pointert, amibe elmented a lista elejét, és akkor abban lesz.
Az első elemet egy feltétellel vizsgálod:
..if (eleje == NULL)..
Ez kell bele, vagy valami más trükközés, de csak így "simán" nem lesz jó.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!