C语言怎么初始化一个不为空的线性表
时间: 2024-05-01 21:20:22 浏览: 88
C语言中,线性表可以使用数组或者指针来实现。如果是使用数组来实现线性表,可以通过以下方式来初始化一个不为空的线性表:
```c
#define MAXSIZE 100 // 定义线性表最大长度
typedef struct {
int data[MAXSIZE]; // 存储数据元素
int length; // 线性表当前长度
} SeqList;
int main() {
SeqList L = { {1, 2, 3, 4}, 4 }; // 初始化一个长度为4的线性表
return 0;
}
```
上述代码中,通过定义 `SeqList` 结构体来存储线性表,其中 `data` 数组用于存储线性表中的数据元素,`length` 表示当前线性表的长度。在 `main()` 函数中,通过初始化语句 `{ {1, 2, 3, 4}, 4 }` 来初始化一个长度为4的线性表。
如果使用指针来实现线性表,可以使用 `malloc()` 函数来动态分配内存空间,并通过指针来操作线性表。
```c
#define MAXSIZE 100 // 定义线性表最大长度
typedef struct {
int *data; // 存储数据元素
int length; // 线性表当前长度
} SeqList;
int main() {
SeqList L;
L.data = (int*)malloc(MAXSIZE * sizeof(int)); // 动态分配内存空间
L.data[0] = 1;
L.data[1] = 2;
L.data[2] = 3;
L.data[3] = 4;
L.length = 4; // 初始化线性表长度为4
return 0;
}
```
上述代码中,通过 `malloc()` 函数动态分配了一个长度为 `MAXSIZE` 的数组空间,然后通过指针来操作线性表。在代码中,通过对 `L.data` 数组元素进行赋值,来初始化线性表的数据元素,同时将线性表长度设置为4。
阅读全文