Informatika2-2013/Osszefoglalas1 6
Az összefoglalás elején leírom, hogy a gyakorlatokon mikrõl volt szó.
1. gyakorlat
A gyakorlat elején gcc-vel fordítottunk egy "hello world" programot. Hasznos tudni, hogy hogyan lehet így terminálból fordítani egy C programot.
Majd megtanultuk a Codeblocks / Codelite használatát, ezekbõl nem igazán tudnánk mit visszakérdezni, ezeket a kényelem kedvéért mutattuk meg.
A gyakorlat végén pedig egy nagyon egyszerû kiegészítendõ feladatot oldottunk meg, aminek annyi volt a lényege, hogy lássátok hogyan kell deklarálni változókat (pl: int x;) és hogyan kell használni egyszerû elágazást.
2. gyakorlat
Megtanultuk hogyan lehet scanf-el beolvasni:
int z; scanf("%d", &z);
Ekkor még nem tudtuk miért kell az & jel a z elé, de mostmár tudjuk, hogy ez azért kellett, hogy a változóba beleírhassa a felhasználó által beírt értéket. Emlékezzük vissza miért nem lehet ezt pointer nélkül megoldani:
void swap(int x, int y){ int temp = x; x = y y = temp; } void swap2(int* x, int* y){ int temp = *x; *x = *y *y = temp; } int main(void){ int a = 6; int b = 8; swap(a, b); printf("%d %d", a, b); // 6 8-at ír ki swap2(&a, &b); printf("%d %d", a, b); // 8 6-ot ír ki return 0; }
Itt az elsõ swap függvén igaz úgy tûnik hogy megcseréli a változók értékét, de valójában csak a róluk készült másolatok értéket cserélte meg, és így a main-ben nem történt csere. Viszont a swap2 pointereken keresztül jól megcseréli a valódi a és b változó értékét.