c语言怎么定义动态数组

1051
2023/10/29 23:02:07
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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); // 释放动态分配的内存空间

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: C语言怎么定义指针变量并赋值