在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
函數來創建線性表,并在創建成功后輸出線性表的長度。最后,需要手動釋放分配的內存空間。