温馨提示×

c语言怎么定义动态数组

小亿
310
2023-11-07 23:02:07
栏目: 编程语言

在C语言中,可以通过使用指针和动态内存分配函数来定义动态数组。下面是一种常见的方式:

  1. 使用malloc函数分配内存空间。malloc函数可以根据需要分配指定大小的内存空间,并返回一个指向该内存空间的指针。
int *arr; // 定义指向整型的指针

int size = 10; // 数组大小

arr = (int *)malloc(size * sizeof(int)); // 分配大小为size的整型数组
  1. 使用calloc函数分配内存空间。calloc函数与malloc函数类似,但它还会初始化分配的内存空间为0。
int *arr; // 定义指向整型的指针

int size = 10; // 数组大小

arr = (int *)calloc(size, sizeof(int)); // 分配大小为size的整型数组并初始化为0
  1. 使用realloc函数重新调整已分配内存的大小。如果需要改变已分配内存的大小,可以使用realloc函数。
int *arr; // 定义指向整型的指针

int size = 10; // 数组初始大小

arr = (int *)malloc(size * sizeof(int)); // 分配大小为size的整型数组

int new_size = 20; // 新的数组大小

arr = (int *)realloc(arr, new_size * sizeof(int)); // 调整数组大小为new_size

需要注意的是,在使用动态数组后,使用完毕后需要使用free函数释放分配的内存空间,以避免内存泄漏。

free(arr); // 释放动态分配的内存空间

0