tanszek:oktatas:muszaki_informatika:memoria_kezeles_c-ben
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tanszek:oktatas:muszaki_informatika:memoria_kezeles_c-ben [2025/03/12 19:07] – knehez | tanszek:oktatas:muszaki_informatika:memoria_kezeles_c-ben [2025/03/13 22:13] (current) – [Ellenőrző kérdések] knehez | ||
---|---|---|---|
Line 111: | Line 111: | ||
</ | </ | ||
- | **megoldás**: | + | **megoldás**: |
---- | ---- | ||
Line 152: | Line 152: | ||
</ | </ | ||
- | **megoldás**: | + | **megoldás**: |
+ | ===== Ellenőrző kérdések ===== | ||
+ | **Mi a helyes deklarációja egy int típusra mutató pointernek? | ||
+ | | ||
+ | A) int p*; | ||
+ | B) int *p; | ||
+ | C) pointer int p; | ||
+ | D) int &p; | ||
+ | |||
+ | Megoldás: B | ||
+ | |||
+ | ---- | ||
+ | |||
+ | **Hogyan lehet helyesen lefoglalni memóriát egy 10 elemű int tömbnek dinamikusan? | ||
+ | |||
+ | A) int *arr = malloc(10); | ||
+ | B) int arr = malloc(10 * sizeof(int)); | ||
+ | C) int *arr = malloc(10 * sizeof(int)); | ||
+ | D) int arr[10] = malloc(sizeof(int)); | ||
+ | |||
+ | Helyes válasz: C | ||
+ | |||
+ | ---- | ||
+ | **Mi lesz az eredmény? | ||
+ | |||
+ | <sxh c> | ||
+ | int array[] = {100, 200, 300}; | ||
+ | int *ptr = array; | ||
+ | printf(" | ||
+ | printf(" | ||
+ | </ | ||
+ | |||
+ | A) 100200 | ||
+ | B) 200300 | ||
+ | C) 100100 | ||
+ | D) 200200 | ||
+ | |||
+ | Megoldás: A. *(ptr++) előbb kiírja a 100-at, majd eggyel tovább lépteti a pointert. A következő kiírás már a 200-ra mutat. | ||
+ | |||
+ | ---- | ||
+ | **Melyik állítás igaz az alábbiak közül?** | ||
+ | |||
+ | A) Egy pointer típusa nem függ attól, hogy milyen adatra mutat. | ||
+ | B) Egy pointer mindig egész számot tárol. | ||
+ | C) Pointerek aritmetikája nem megengedett C-ben. | ||
+ | D) Egy pointer típusa meghatározza, | ||
+ | |||
+ | Helyes válasz: D | ||
+ | |||
+ | ---- | ||
+ | **Mi lesz az eredmény? | ||
+ | |||
+ | <sxh c> | ||
+ | int x = 5, y = 10; | ||
+ | int *p = &x; | ||
+ | int *q = &y; | ||
+ | *p = *q; | ||
+ | printf(" | ||
+ | </ | ||
+ | |||
+ | A) 5 10 | ||
+ | B) 10 10 | ||
+ | C) 5 5 | ||
+ | D) 10 5 | ||
+ | |||
+ | Helyes válasz: B. | ||
+ | |||
+ | ---- | ||
+ | **Mire mutat a p pointer a következő deklaráció után?** | ||
+ | |||
+ | <sxh c> | ||
+ | int arr[10]; | ||
+ | int *p = arr; | ||
+ | </ | ||
+ | |||
+ | A) Az arr tömb első elemére | ||
+ | B) Az arr tömb utolsó elemére | ||
+ | C) Az arr tömb méretére | ||
+ | D) Véletlenszerű memória címre | ||
+ | |||
+ | Megoldás: A | ||
+ | |||
+ | ---- | ||
+ | **Mi a hiba a következő kódrészletben? | ||
+ | |||
+ | <sxh c> | ||
+ | int num = 20; | ||
+ | int *ptr; | ||
+ | *ptr = num; | ||
+ | </ | ||
+ | |||
+ | A) Érvénytelen pointer-dereferencia (nem inicializált pointer) | ||
+ | B) Szintaktikai hiba | ||
+ | C) Hiányzó pontosvessző | ||
+ | D) A num változó helytelen típusa | ||
+ | |||
+ | Megoldás: A | ||
+ | |||
+ | ---- | ||
+ | **Mi lesz a következő kód kimenete?** | ||
+ | |||
+ | <sxh c> | ||
+ | char *str = " | ||
+ | printf(" | ||
+ | </ | ||
+ | |||
+ | A) H | ||
+ | B) e | ||
+ | C) l | ||
+ | D) o | ||
+ | |||
+ | Megoldás: B | ||
+ | |||
+ | ---- | ||
+ | **Mit jelent, ha egy pointer NULL értékű? | ||
+ | |||
+ | A) A pointer érvényes memória címre mutat | ||
+ | B) A pointer egy egész számot tárol | ||
+ | C) A pointer nem mutat érvényes memória címre | ||
+ | D) A pointer konstans értékre mutat | ||
+ | |||
+ | Megoldás: C | ||
+ | |||
+ | ---- | ||
+ | **Mi lesz a következő kód kimenete?** | ||
+ | |||
+ | <sxh c> | ||
+ | int a[] = {2, 4, 6, 8}; | ||
+ | int *p = a; | ||
+ | printf(" | ||
+ | </ | ||
+ | |||
+ | A) 2 | ||
+ | B) 4 | ||
+ | C) 6 | ||
+ | D) 8 | ||
+ | |||
+ | Megoldás: C | ||
+ | |||
+ | ---- | ||
+ | **Melyik operátor adja vissza egy változó memória-címét? | ||
+ | |||
+ | A) * | ||
+ | B) & | ||
+ | C) % | ||
+ | D) # | ||
+ | |||
+ | Megoldás: B | ||
+ | |||
+ | ---- | ||
+ | **Mit ír ki a következő programrészlet? | ||
+ | |||
+ | <sxh c> | ||
+ | int x = 5; | ||
+ | int *p = &x; | ||
+ | *p = 10; | ||
+ | printf(" | ||
+ | </ | ||
+ | |||
+ | A) 5 | ||
+ | B) 0 | ||
+ | C) 10 | ||
+ | D) véletlenszerű érték | ||
+ | Megoldás: C , mivel az x értéke megváltozik a pointeren keresztül |
tanszek/oktatas/muszaki_informatika/memoria_kezeles_c-ben.1741806429.txt.gz · Last modified: 2025/03/12 19:07 by knehez