21xrx.com
2025-03-16 08:27:29 Sunday
文章检索 我的文章 写文章
C语言中如何定义不确定长度的数组
2023-06-14 10:12:30 深夜i     20     0
C语言 数组 动态内存分配

在C语言中,数组是一种非常重要的数据结构。它可以存储多个相同类型的变量,并且每个变量都有一个对应的索引值。在定义数组时,我们通常都要指定数组的长度。但是有时候我们需要定义一个不确定长度的数组,这就需要使用动态内存分配。

动态内存分配是指在程序运行时,根据需要动态地分配内存空间。在C语言中,我们可以使用malloc函数来动态分配内存空间。下面是一个示例代码:

#include 
#include 
int main()
{
  int n;
  printf("请输入数组的长度:");
  scanf("%d", &n);
  int *arr = (int*)malloc(n * sizeof(int));   // 动态分配内存空间
  // 使用数组
  for(int i = 0; i < n; i++)
  {
    printf("请输入数组的第%d个元素:", i+1);
    scanf("%d", &arr[i]);
  }
  printf("数组的元素为:");
  for(int i = 0; i < n; i++)
  {
    printf("%d ", arr[i]);
  }
  free(arr);   // 释放动态分配的内存空间
  return 0;
}

在上面的示例代码中,我们使用了malloc函数来动态分配一个大小为n的int类型数组。然后使用for循环来输入数组元素,并输出数组元素。最后使用free函数来释放动态分配的内存空间。

  
  

评论区