Programozas alapjai 6. kis ZH megirasa Dinamikus memoriakezeles: ========================= malloc.h vagy stdlib.h headerekben memoria lefoglalasa: -------------------- void * malloc(size); A parancs lefoglal size db byte-ot, visszater a lefoglalt memoriara mutato pointerrel. memoria felszabaditasa: ----------------------- void free(void *); A parameterben megadott pointernek lefoglalt memoriat szabaditja fel. valtozo meretenek lekerese -------------------------- sizeof parancs Feladat: Irjunk programot mely beker egy szamot, lefoglal ekkora nagysagu valos vektort es feltolti ertekekkel, majd kiiratja. /************************************************ dinamikus helyfoglalas ************************************************/ #include #include int main(){ double *vector; int i; int size; printf("Irja be mekkora tombot kell lefoglalni: "); scanf("%d", &size); vector=(double *)malloc(size*sizeof(double)); for (i=0; i #include int main(){ double **matrix; int i, j; int sizex, sizey; printf("Irja be mekkora tombot kell lefoglalni: "); scanf("%d %d", &sizex, &sizey); matrix=(double **)malloc(sizex*sizeof(double)); for (i=0; i> - balra 2-vel szorzas << - jobbra 2-vel osztas unsigned: meguresedett bitek 0-val feltoltodnek signed: ? gepfuggo ? Maszkolas: FA: A 4. bitig az osszes bit 0-ra allitasa (int) a&~15 Az osszes bit 1-re allitasa a 4. bit-ig a|15 FIGYELEM: & != && | != || pl: 3&12=0, de 3&&12 != 0 Header ------ Olyan fileok, melyekben fuggvenydeklaraciok vagy fuggvenydefiniciok talalhatok. Altalaban csak a fuggvenyek fejlece, es egy c forrasfileban a fuggveny definicioja. A forditonak meg kell mondanunk, hogy mely c fileok legyenek beleforditva a projectbe, melyek kozul egy main fugveny van. Egy header file altalanos alakja: #if !defined MY_HEADER_H #define MY_HEADER_H fuggvenydeklaraciok... #endif A c-fajlban, ahol a "my_header.h" fuggvenyei vannak definialva, a definicio elott szerepelnie kell az #include "my_header.h" utasitasnak.