C言語で線形リストを作成するにはどうすればよいですか。

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`関数を呼び出して線形表を作成し、作成に成功すると線形表の長さを出力し、割り当てたメモリ領域を手動で解放する必要があります。

bannerAds