Jak utworzyć tablicę dwuwymiarową za pomocą Malloc w programowaniu C

Jak utworzyć tablicę dwuwymiarową za pomocą Malloc w programowaniu C

Funkcja Malloc () jest używana w programowaniu C do przechowywania danych w stercie, która jest dynamiczną pamięcią pamięci. Jest on najczęściej stosowany do dynamicznej deklaracji tablic, a także jest używany do tworzenia tablic dwuwymiarowych. Dwuwymiarowe tablice są używane do wykreślania wartości w formie tabelary.

W tym zapisie nauczymy się tworzyć tablicę 2-wymiarową za pomocą funkcji Malloc () w programowaniu C.

Co to jest funkcja Malloc () w programowaniu C

W niektórych konkretnych programach często nie możemy przewidzieć wielkości tablicy. Jeśli sami przypisujemy wartości do tablicy, nie można tego zmienić podczas wykonania. To spowoduje problemy, albo pamięć stanie się niska dla tablicy, albo tablica zajmie mniej przestrzeni, marnując pamięć, aby tego uniknąć, zaleca się dynamiczne przypisywanie tablic.

W programowaniu C, dla dynamicznej alokacji pamięci, używane są różne funkcje. Jednym z nich jest funkcja Malloc (); Wysyła żądanie do sterty dla określonego bloku pamięci, a jeśli sterta ma przestrzeń, odpowiada, przydzielając żądany blok pamięci do Malloc ().

Malloc () zajmie przestrzeń przypisanego bloku pamięci zgodnie z potrzebą wykonanego programu i po pomyślnym wykonaniu, przestrzeń tę można uwolnić za pomocą funkcji Free ().

Jak utworzyć tablicę 2-wymiarową za pomocą funkcji Malloc () w programowaniu C

Przed stworzeniem rozważ następującą liczbę, aby lepiej zrozumieć, jak działa tablica dwupoziomowa.

Na powyższym rysunku możemy zrozumieć, że w dwupenwencyjnej tablicy najpierw elementy zostaną naprawione w pierwszym polu kolumny po tym odpowiednim wierszu zostanie wypełnione, a następnie w drugim wierszu kolumny i trwa do końca Cała tablica jest wypełniona, jak pierwsze elementy zostaną umieszczone w x [0] [0 [, a następnie x [0] [1], a następnie [0] [2], a następnie x [0] [1], [1] [ 0], a potem tak dalej.

Rozważymy następujący podstawowy przykład utworzenia 2-wymiarowej tablicy za pomocą Malloc () w programowaniu C. Utworzyliśmy plik tekstowy, cfile.c i wpisz w nim następujący skrypt:

#włączać
#włączać
int main ()
int wiersz = 5, col = 4;
int * a = (int *) malloc (wiersz * col * sizeof (int));
int I, J;
dla (i = 0; i < row; i++)
dla (j = 0; j < col; j++)
*(a + i*col + j) = i + j;
printf („elementy tablicy to: \ n”);
dla (i = 0; i < row; i++)
dla (j = 0; j < col; j++)
printf („%d”, *(a + i *col + j));

printf („\ n”);

darmowe (a);
powrót 0;

Aby skompilować powyższy program, użyjemy kompilatora GCC:

$ gcc cfile.C -O cfile

Wykonaj plik, który jest skompilowanym plik PLIFILE.c i wyświetl wyjście:

$ ./plik

W powyższym kodzie dołączyliśmy biblioteki stdlib.H (dla dynamicznej alokacji pamięci) i stdio.H (dla wejścia i wyjścia), a następnie zadeklarowaliśmy wiersz zmiennych, kolumnę, i i j. Po deklaracji nazwaliśmy Malloc (), aby przypisać pamięć zgodnie z wartościami „wiersz” i „kolumny”. Po przydzieleniu pamięci po prostu użyliśmy dwóch zagnieżdżonych pętli, aby zapisać wartości w tablicy, a następnie za pomocą printf () w zagnieżdżonej pętli wyświetliliśmy wartości. Ostatecznie użyliśmy free () do opróżnienia zajętej przestrzeni przypisanej na stosie przez Malloc ().

Wniosek

Tablice dwuwymiarowe są podobne do tablic jednowymiarowych, jedyną różnicą między tablicami 1D i 2D jest; Tablice 2D przechowują dane w formie tabelarycznej, a tablica 1D przechowuje dane w postaci wierszy. Tablice są podstawami struktur danych i mogą przechowywać dużą ilość danych tego samego typu danych. W tym artykule wyjaśniliśmy utworzenie 2-wymiarowej tablicy w pamięci dynamicznej, wywołując funkcję Malloc ().