W3School TIY Editor
W3School 在线教程
改变方向
暗黑模式
#include
#include
struct list { int *data; // 指向存储列表项的内存地址 int numItems; // 表示当前列表中的项数 int size; // 表示分配内存可容纳的项数 }; void addToList(struct list *myList, int item); int main() { struct list myList; int amount; // 创建列表,初始空间可容纳 10 个项 myList.numItems = 0; myList.size = 10; myList.data = malloc(myList.size * sizeof(int)); // 检查内存分配是否成功 if (myList.data == NULL) { printf("内存分配失败"); return 1; // 返回错误码退出程序 } // 向列表中添加 amount 变量指定数量的项 amount = 44; for (int i = 0; i < amount; i++) { addToList(&myList, i + 1); } // 显示列表内容 for (int j = 0; j < myList.numItems; j++) { printf("%d ", myList.data[j]); } // 释放不再需要的内存 free(myList.data); myList.data = NULL; return 0; } // 该函数用于向列表添加项 void addToList(struct list *myList, int item) { // 如果列表已满,则重新分配内存以容纳额外 10 个项 if (myList->numItems == myList->size) { myList->size += 10; myList->data = realloc( myList->data, myList->size * sizeof(int) ); } // 将项添加到列表末尾 myList->data[myList->numItems] = item; myList->numItems++; }