Szokás a pointereket másra is használni, mint hogy egy függvény módosíthassa egy olyan változó értékét, ami a main () -be van?
Más értelmét nem nagyon látom. Sőt ha &-jelet írok a változó elé a függvénynél a ()-be, akkor még megspórolok például egy ilyen sort is a main()-ben: int a=2; int *b=&a;
Szóval mi másra szokás még a * -os pointert használni?
Sok dologra, például tömbön való végiglépkedésre. Ez jóval gyorsabban futó megoldás, mint ha index szerint lépkednéd végig, nem kell folyton címet számítani, hanem direktben tudsz "rámutatni" a következő elemre.
Pl. stringben (char[]) való keresés (kódrészlet) :
while (*ptr && (*ptr != lookfor)) ptr++;
Egyébként a tömb indexelése is pointerekkel működik a háttérben. Elemmérettől függetlenül:
a[5] --> *(a+5)
A másik fő dolgot már említették, csak pointerrel tudsz dinamikusan helyet foglalni C-ben.
"felesleges és megspórolható hogy ha csak simán &a-t írok a függvény paraméterbe"
És azt hogy veszi át a függvény? Mi lesz a formális paraméterlistája?
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!