c语言怎么定义动态数组

avatar
作者
筋斗云
阅读量: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); // 释放动态分配的内存空间 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!