c语言

c语言线性表怎么创建

小亿
123
2023-11-05 02:26:27
栏目: 编程语言

在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函数来创建线性表,并在创建成功后输出线性表的长度。最后,需要手动释放分配的内存空间。

0
看了该问题的人还看了