Pointerek
- Pointer = mutató --> egy változó memóriacímét tárolja, a változóra mutat
- van típusa: milyen típusú változóra mutat
- dereferencia operátor: *
- int *p; //egy integer típusú változóra mutató pointer
- p = 3; //a változó címe 3
- *p = 3; //a változó értéke 3
- int s; s = *p; //s értéke 3
- pointerek.c
- referencia operátor: &
- a változó memóriacímére mutat
- int a, *pa; a = 3; pa = &a; //*pa = 3 lesz
- egy memóriacímen helyezkednek el: ha a változik, akkor *pa értéke is változik
- függvények: paraméterek átadása érték és referencia szerint
- printf vs scanf
- tömbök: pointerek sorozata, melyek a tömb elemeire mutatnak
- függvényekben a tömbelemek referencia szerint lesznek átadva, ez a referencia maga a tömb (így nem kell az & operátor)
- malloc függvény - dinamikus helyfoglalás
- int *t; t = (int*)malloc(N*sizeof(int));
- típuskényszerítés
- stdlib.h
- sizeof függvény
- calloc: mint a malloc, de nullára inicializálja az elemeket
- két (vagy N) dimenziós tömbök
Struct és Union
Struktúra:
- több elemmel rendelkező adatszerkezet
- elemek elérése a . operátorral (pointer esetén -> operátor)
- példák: struct.c, harom.c, komplex.c, linkedlist.c
Union:
- hasonló a struct-hoz, de csak egy elemet tárol
- melyiket tárolja? amelyiknek utoljára adtunk értéket
- példa: union.c
Haladó függvénykezelés, tárolási osztályok
- C-fuggveny-halado.txt
- Tárolási osztályok: static, auto, register, volatile, const
Feladatok
Struktúrák: fgv-struct.c
No comments:
Post a Comment