c语言中如何给数组变量分配存储空间
时间: 2024-10-04 10:04:34 浏览: 31
在 C 语言中,你可以通过声明和初始化来给数组变量分配存储空间。主要有以下几种方式:
1. **动态内存分配** (使用 `malloc` 函数):如果你不知道数组的确切大小,可以先用 `malloc` 动态地为数组分配内存。例如:
```c
int *array = malloc(n * sizeof(int)); // n 是数组长度
```
使用完记得用 `free(array)` 释放内存。
2. **静态数组** (在函数内部或外部定义):当你知道数组大小时,可以直接在函数或程序的外部定义它:
```c
#define SIZE 5
int array[SIZE] = {0}; // 初始化所有元素为0
```
或者,
```c
int main() {
int arr[] = {1, 2, 3, 4, 5};
// ...
}
```
3. **初始化数组**:对于固定大小并且预先知道值的数组,可以在声明时直接进行初始化:
```c
const int size = 3;
int myArray[size] = {1, 2, 3}; // 数组大小和初始化值一起声明
```
注意,在 C99 标准之后,还可以使用 VLA (Variable Length Arrays),但在某些古老的编译器中可能不支持。
阅读全文