1. kártya
int a;
int *b;
int c[5];
int *d[5];
int e[3][3];
int *f ();
void* (*g)(void *); // idáig voltak már kérdések egyszer
int &h = a; // h változóval hivatkozunk az a változóra
void fgv(int& i); // egy voidot visszadó fgv függvény mely bemenete egy int hivatkozás
2. kártya
#include <stdio.h>
void
csere (int &a, int &b) // int típusú változóra hivatkozás a és b-vel
{
a = a - b; // vkét változó értékcseréje matematikai módon
b = a + b;
a = b - a;
}
int
main (void)
{
int a = 5, b = 7;
csere (5, 7); // csere függvény hibás meghívása
printf ("a=%d b=%d\n", a, b);
return 0;
}
/*
Nem fordul le!
csere függvény hívásánál hivatkoznánk a változókra de itt constans számokat adunk meg. A hivatkozás egy alternatív név az az hivatkozás egy másik obbjektumra. Miután inicializáltuk ugyan úgy lehet használmi mint a célobjektumot.
*/
3. kártya
#include <stdio.h>
int
main (void)
{
int a = 5; // int típusú a változó értéke 5
int *ap = &a; // ap egy mutató mely az a-ra mutat
int &ar = a; // ar egy hivatkozás mely az a-ra hivatkozik
int *ap2 = &ar; // ap2 egy mutató mely az ar-ra mutat mely megeggyezik az a-val
++a; // a növelése egyel
++*ap; // ap mutatóval a növelése egyel
++ar; // ar hivatkozással a növelése egyel, (hivtkozás mintha a saját nevét írnánk a változónak)
++*ap2; // ap2 mutatóval az ar hivatkozáson keresztül az a növelése egyel
printf ("a=%d\n", a); // 4 növelés volt alap érték 5 így 5+4*1=9
return 0;
}
/*
Lefordl
Kimenet:
a=9
*/
4. kártya
#include <stdio.h>
void
csere (int a, int b, int &c, int &d) // csere függvény paraméterei: int típusú a és b változó mely csak az értéket veszi át, c és d int típusú hivatkozás, hivatkozott változó értékének manipulálása
{
c = b;
d = a;
}
int
main (void)
{
int a = 5, b = 7;
printf ("a=%d b=%d\n", a, b);
csere (a, b, a, b); // cseremegkapja paraméterként az a,b változókat lőször érték szerint majd hivatkozás szerint, megcseréli az értékület
printf ("a=%d b=%d\n", a, b);
return 0;
}
/*
Lefordul
Kimenet:
a=5 b=7
a=7 b=5
*/
5. kártya
Ez egy 3 dimenziós tömb és a címzése így nézne ki racsok[rácsIndex][x][y] így hát a racs-nak megmondtuk hogy csak az x és y által képzett mátrixot kapja meg ahol az első dimenzió( rácsindex ) 0.
racsindex 0
y 0 1 2 ...
x 0
1
2
..
racsindex 1
y 0 1 2 ...
x 0
1
2
..
| x
|
|_ _ __y
/
/racsindex