Átalakítása indexek kézzel
Munka kétdimenziós tömbök
Példa dinamikus memória használat
A következő példában, a dinamikus memória tárol a tömb elemei előre meghatározatlan méretű, amelynek bemeneti leállítjuk, amikor a szám a bemeneti folyam nagyobb vagy egyenlő 1e300. Ebben az esetben, az első a tömb allokált memória szegmens maximális méretét, akkor a méret a memória blokk van beállítva megfelelő a tényleges mérete a tömb.
void * malloc (size_t méret)
void * p = malloc (méret);
void * realloc (void * blokk, size_t méret)
void * p = realloc (blokk, méret);
előjel nélküli i, n, maxN, goodIO;
A = (dupla *) malloc (maxN = UINT_MAX);
A (goodIO = n = 0; n printf ( "A = [.]", n); scanf ( "% LF", temp); A = (dupla *) realloc (A, n * sizeof (dupla)); / * Array. Például - a nyomtatást. * / for (i = 0; i printf ( "% 10.3lf", A [i]); if ((i + 6)% 5 == 0) printf ( "\ n"); A maximális szegmens méret byte mindig a legnagyobb értéke előjel nélküli egész szám, amelynek értéke határozza UINT_MAX állandó fejlécfájlba A program a kiegészítő Malloc () és realloc (a) figyelemmel kíséri a memória kiosztás. Ezek úgy működnek, exit () a prototípus a fájlban Ha dinamikus kétdimenziós tömb, vannak bizonyos nehézséget okoz az a tény, hogy a C nincs beépített eszközök teszik ki a húr hosszát indexelés során. Ezért a programozónak kell biztosítani arra, hogy index kétdimenziós tömböt. Ezenkívül lehetővé kell tenni, hogy javítsa az átviteli függvény egy dinamikus tömb. A következő szakaszok a mintaprogram tele véletlen értékek egy derékszögű mátrix, fontolja meg a különböző megközelítések a probléma megoldására. A következő példában egy kétdimenziós tömb képviseli, mint az egydimenziós és kétdimenziós helyét az egyes elemek egydimenziós tömbben által meghatározott összeget az oszlop számát és a sorok számát a munka húr hosszát. Eljárás indexelést ugyanaz a hívó és a hívott programban. #define MAXVAL 1000 void * malloc (size_t méret); érvényteleníti RandomMatr (dupla * Matr, int n, int l); érvényteleníti OutMatr (char * name, kettős * Matr, int n, int m);Kapcsolódó cikkek