在C语言中,可以使用结构体和指针来创建线性表。下面是一个简单的示例代码:
#include <stdio.h>
#include <stdlib.h>
// 定义线性表的结构体
typedef struct {
int* data; // 数据存储区
int length; // 线性表长度
} List;
// 创建线性表
List* createList(int length) {
// 分配内存空间
List* list = (List*) malloc(sizeof(List));
if (list == NULL) {
printf("内存分配失败\n");
return NULL;
}
// 分配数据存储区的空间
list->data = (int*) malloc(length * sizeof(int));
if (list->data == NULL) {
printf("内存分配失败\n");
free(list); // 释放之前分配的内存
return NULL;
}
// 初始化线性表长度
list->length = length;
return list;
}
int main() {
int length;
printf("请输入线性表的长度:");
scanf("%d", &length);
// 创建线性表
List* list = createList(length);
if (list == NULL) {
return 0;
}
printf("线性表创建成功,长度为%d\n", list->length);
// 释放内存
free(list->data);
free(list);
return 0;
}
在上述代码中,使用了一个结构体List
来表示线性表,其中包含一个整型指针data
用于存储数据,以及一个整型变量length
表示线性表的长度。createList
函数用于创建线性表,并通过动态内存分配来为数据存储区分配空间。最后,通过在main
函数中调用createList
函数来创建线性表,并在创建成功后输出线性表的长度。最后,需要手动释放分配的内存空间。