c语言如何定义动态数组
时间: 2024-10-21 22:06:35 浏览: 14
在C语言中,动态数组是通过使用`malloc`或`calloc`函数从堆区动态分配内存来实现的。以下是一个基本的例子,展示如何定义和操作动态整数数组:
```c
#include <stdlib.h>
int main() {
// 定义动态数组的长度和初始容量(如果必要)
int arraySize = 5;
// 动态分配内存
int* dynamicArray = (int*) malloc(arraySize * sizeof(int));
if (dynamicArray == NULL) {
printf("Memory allocation failed.\n");
return 1; // 处理内存分配错误
}
// 初始化动态数组
for (int i = 0; i < arraySize; i++) {
dynamicArray[i] = i + 1; // 假设你要填充从1开始的序列
}
// 使用动态数组
for (int i = 0; i < arraySize; i++) {
printf("Element %d: %d\n", i, dynamicArray[i]);
}
// 释放内存
free(dynamicArray);
return 0;
}
```
在这个例子中,`malloc`函数分配了足够的空间存储`arraySize`个整数,并返回一个指向该块内存的指针。记得在不再需要数组时,用`free`函数将其从堆上释放以避免内存泄漏。
阅读全文