定义数组没有malloc
时间: 2023-10-29 19:55:53 浏览: 83
在C语言中,可以使用静态分配或动态分配来定义数组。静态分配是在编译时为数组分配内存,而动态分配则是在运行时为数组分配内存。
静态分配的数组定义如下:
```c
int array[10]; // 定义一个长度为10的整型数组
```
动态分配的数组定义需要使用`malloc`函数来为数组分配内存。`malloc`函数返回一个指向可用内存的指针,我们可以通过此指针访问和操作数组元素。以下是一个示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int size;
printf("请输入数组大小: ");
scanf("%d", &size);
int *array = (int *)malloc(size * sizeof(int)); // 动态分配大小为size的整型数组
if (array == NULL) {
printf("内存分配失败\n");
return 0;
}
// 对数组进行操作
for (int i = 0; i < size; i++) {
array[i] = i; // 给数组元素赋值
}
// 输出数组元素
printf("数组元素: ");
for (int i = 0; i < size; i++) {
printf("%d ", array[i]);
}
printf("\n");
free(array); // 释放内存
return 0;
}
```
上述代码中,我们使用`malloc`函数动态分配了一个大小为`size`的整型数组,并通过指针`array`访问和操作数组元素。记得在不使用动态分配的数组后,使用`free`函数释放内存,以防止内存泄漏。
阅读全文