W programowaniu C tablica służy do przechowywania zakresu wartości tego samego typu danych i zajmuje przestrzeń w pamięci, która może być statyczna lub dynamiczna. Malloc jest funkcją stosowaną w programowaniu C do dynamicznej alokacji pamięci.
W tym artykule dowiemy się o funkcji Malloc, aby utworzyć tablicę w programowaniu C.
Co to jest Malloc () w programowaniu C
Pamięć dynamiczna jest przydzielana do programu podczas jego wykonywania zgodnie z potrzebną przez niego przestrzenią. W pamięci statycznej stała pamięć jest przydzielana do programu przed wykonaniem programu, który ma następujące wady:
Aby uniknąć tych wad, użyjemy schematu dynamicznego alokacji pamięci, ponieważ ten schemat przypisuje pamięć bloku potrzebnego przez program podczas jego wykonania. Pamięć dynamiczna ma różne funkcje używane jako wskaźnik do programu.
Funkcja Malloc () oznacza „alokacja pamięci” i jest używana do dynamicznej alokacji pamięci podczas wykonywania programu. Gdy wywoływana jest funkcja Malloc (), wysyła żądanie bloku pamięci do sterty (jest to segment pamięci, w którym pamięć jest przydzielana losowo). Jeśli sterta ma pamięć równoważną temu blokowi pamięci, zaakceptuje żądanie i przypisuje ten rozmiar do funkcji Malloc () w stosunku do jego żądania, a jeśli nie ma pamięci, zwróci wartość zerową. Kiedy skończymy z blokiem pamięci, możemy go wyczyścić za pomocą funkcji free (), aby blok pamięci mógł się uwolnić i być używany przez inne instrukcje programu. W celu dynamicznego alokacji pamięci musimy uwzględnić „stdlib.h ”w plikach nagłówka i ogólnej składni za pomocą funkcji Malloc jest:
1 | $ pointer = (castType*) malloc (rozmiar); |
Możemy użyć dowolnej zmiennej zamiast „wskaźnika”, a następnie możemy zastąpić „CastType” typem danych, którego wartości będą przechowywać w tablicy. Następnie użyj funkcji Malloc () i wspomnij o wielkości potrzebnej pamięci.
Jak używać funkcji Malloc w programowaniu C, aby utworzyć tablicę
Aby lepiej zrozumieć tworzenie tablicy za pomocą funkcji Malloc (), stworzymy program. Aby użyć programowania C w Linux, musimy zainstalować kompilator GCC za pomocą polecenia:
1 | $ sudo apt instal gcc |
Utwórz plik tekstowy za pomocą edytora Nano:
1 | $ nano myfile.C |
Wpisz następujący kod:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # Uwzględnij # Uwzględnij int Main (void) int rozmiar, ja, *my_Array; printf („\ n proszę wpisać rozmiar tablicy:”); Scanf („%d” i rozmiar); my_array = (int *) malloc (rozmiar * sizeof (int)); printf („\ n Wprowadź wartości tablicy:”); dla (i = 0; i printf („\ n Wartości w tablicy to:”); dla (i = 0; i printf („\ n”); |
Zapisz skrypt o nazwie „myfile.c ”za pomocą Ctrl+S, a następnie wyjdź z edytora, naciskając Ctrl+x. Po jego zapisaniu skompiluj kod i sprawdź, czy występują jakieś błędy, czy nie za pomocą polecenia:
1 | $ gcc myfile.c -o myfile |
„Myfile” będzie plikiem wykonywalnym, uruchom „myfile” za pomocą polecenia:
1 | $ ./mój plik |
Program został pomyślnie wykonany. Wyjaśnienie powyższego kodu jest jako:
Wniosek
Funkcja Malloc () jest używana w dynamicznej alokacji pamięci i może być również używana do przechowywania wartości w tablicy. W tym artykule omówiliśmy, jak zadeklarować i korzystać z tablicy za pomocą funkcji Malloc (). Podejście dynamicznego alokacji pamięci jest zalecane, gdy chcesz zmienić rozmiar tablicy podczas wykonywania programu.