gpt4 book ai didi

c - 在数组中存储结构和整数

转载 作者:太空宇宙 更新时间:2023-11-04 07:40:49 24 4
gpt4 key购买 nike

我将如何在数组中存储结构和整数?

/*a struct to keep block information*/
struct header{
int freeSpace;
struct header *nextHead;
struct header *prevHead;
};

int myinit(int *array, int size){

array[0] = size;

/*initial block*/
struct header root;
root.freeSpace = size - (sizeof(struct header));

array[1] = root; /*write the intial block to the array*/

}

最佳答案

数组的零元素不会保持其大小。而且您不能同时在一个数组中存储整数和结构。您可以在数组中仅使用单个对象类型。

要创建动态列表,您应该执行以下操作:

  • 为根元素分配空间(使用malloc,不要改写,挺好的)

  • 像这样为一个元素分配空间并将其绑定(bind)到根:

    void constructList() {
    ...
    struct header * pRoot = ...;
    pRoot->previousHead = NULL;
    struct header * pSecond = ...;
    pSecond->previousHead = pRoot;
    pRoot->nextHeader = pSecond;
    ...

  • 继续添加元素

  • 通过

    完成列表的构建

    pLastElement->nextHeader = NULL;

然后您将能够通过将 nextHeader 指针与 NULL 进行比较来检查列表是否结束。

关于c - 在数组中存储结构和整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4224475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com