帮我用C语言定义一个顺序储存结构体
时间: 2024-09-27 21:18:12 浏览: 39
在C语言中,我们可以定义一个简单的顺序存储结构(通常称为数组)来存储数据。这里我们创建一个名为`SequentialContainer`的结构体,它包含一个整数类型的数组和一些基本属性。
```c
#include <stdio.h>
// 定义结构体SequentialContainer
typedef struct {
int* data; // 数组指针,用于存放元素
int capacity; // 数组容量
int size; // 当前元素的数量
} SequentialContainer;
// 初始化函数
void initSequentialContainer(SequentialContainer* container, int initial_capacity) {
container->data = (int*)malloc(initial_capacity * sizeof(int));
if (!container->data) {
printf("Memory allocation failed.\n");
return;
}
container->capacity = initial_capacity;
container->size = 0;
}
// 添加元素到容器
void addElement(SequentialContainer* container, int element) {
if (container->size == container->capacity) {
// 扩容
int new_capacity = container->capacity * 2;
container->data = (int*)realloc(container->data, new_capacity * sizeof(int));
if (!container->data) {
printf("Memory reallocation failed.\n");
return;
}
container->capacity = new_capacity;
}
container->data[container->size++] = element;
}
// 示例用法
int main() {
SequentialContainer myContainer;
initSequentialContainer(&myContainer, 5);
addElement(&myContainer, 10);
addElement(&myContainer, 20);
// ... 更多操作
return 0;
}
```
阅读全文