使用c语言定义一个数组,使得数组内的内容可以动态变化
时间: 2023-09-22 12:05:47 浏览: 92
在C语言中,可以使用指针和动态内存分配函数来定义数组,使得数组内的内容可以动态变化。具体实现方法如下:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int size = 5;
int *arr = (int*)malloc(size * sizeof(int)); // 动态分配数组内存空间
// 初始化数组
for (int i = 0; i < size; i++) {
arr[i] = i + 1;
}
// 打印数组
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 动态改变数组大小
size = 10;
arr = (int*)realloc(arr, size * sizeof(int)); // 重新分配数组内存空间
// 初始化扩大后的数组
for (int i = 5; i < size; i++) {
arr[i] = i + 1;
}
// 打印扩大后的数组
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
free(arr); // 释放数组内存空间
return 0;
}
```
在上述代码中,我们先使用 `malloc()` 函数动态分配了一个大小为5的数组空间,并初始化了数组的内容。然后,使用 `realloc()` 函数重新分配了一个大小为10的数组空间,并在其中加入了新的内容,从而实现了数组动态变化的效果。最后,使用 `free()` 函数释放了数组的内存空间。
阅读全文