동적 배열 C 언어 구현 방법: malloc 및 free: malloc()을 사용하여 메모리를 할당하고, realloc()을 사용하여 크기를 변경하고, free()를 사용하여 메모리를 해제합니다. stdlib.h의 배열 함수: realloc()은 크기를 변경하고, calloc()은 생성하여 0으로 초기화하며, reallocarray()는 요소 수를 지정합니다.
동적 배열을 사용하면 런타임에 필요에 따라 배열 크기를 조정할 수 있으므로 정적 배열을 사용할 때 발생하는 메모리 낭비나 오버플로 문제를 피할 수 있습니다. C 언어에는 동적 배열을 구현하는 두 가지 주요 방법이 있습니다.
malloc 및 free는 C 언어에서 동적 메모리 할당을 위한 함수입니다. malloc()을 사용하여 메모리 블록을 할당하고 그 안에 배열 요소를 저장할 수 있습니다. 원하는 경우 realloc()을 사용하여 할당된 메모리 크기를 변경할 수도 있습니다. 배열이 더 이상 필요하지 않으면 free()를 사용하여 할당된 메모리를 해제해야 합니다.
샘플 코드:
<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>
C 표준 라이브러리는 동적 배열을 위한 여러 함수도 제공합니다.
샘플 코드:
<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>
위 내용은 C 언어에서 동적 배열을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!