Dynamische Array-C-Sprachimplementierungsmethode: malloc und free: Verwenden Sie malloc(), um Speicher zuzuweisen, realloc(), um die Größe zu ändern, und free(), um Speicher freizugeben. Array-Funktionen in stdlib.h: realloc() ändert die Größe, calloc() erstellt und initialisiert auf 0, reallocarray() gibt die Anzahl der Elemente an.
Dynamisches Array ermöglicht es uns, die Array-Größe nach Bedarf zur Laufzeit anzupassen und so die Speicherverschwendung oder Überlaufprobleme zu vermeiden, die bei der Verwendung statischer Arrays auftreten. In der C-Sprache gibt es hauptsächlich zwei Möglichkeiten, dynamische Arrays zu implementieren:
malloc und free sind Funktionen in der C-Sprache für die dynamische Speicherzuweisung. Wir können malloc() verwenden, um einen Speicherblock zuzuweisen und darin Array-Elemente zu speichern. Bei Bedarf können Sie auch realloc() verwenden, um die zugewiesene Speichergröße zu ändern. Wenn das Array nicht mehr benötigt wird, sollte free() verwendet werden, um den zugewiesenen Speicher freizugeben.
Beispielcode:
<code class="c">#include <stdlib.h> int main() { // 分配一个包含 10 个整数的动态数组 int *array = (int *)malloc(10 * sizeof(int)); // 访问和修改数组元素 array[0] = 1; array[9] = 10; // 使用 realloc() 增大数组大小 array = (int *)realloc(array, 20 * sizeof(int)); // 释放动态数组 free(array); return 0; }</code>
Die C-Standardbibliothek bietet auch mehrere Funktionen für dynamische Arrays:
Beispielcode:
<code class="c">#include <stdlib.h> int main() { // 使用 calloc() 创建一个包含 10 个整数的动态数组,并将其元素初始化为 0 int *array = (int *)calloc(10, sizeof(int)); // 使用 reallocarray() 增大数组大小 array = (int *)reallocarray(array, 20, sizeof(int)); // 释放动态数组 free(array); return 0; }</code>
Das obige ist der detaillierte Inhalt vonWas sind die Implementierungsmethoden für dynamische Arrays in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!