繁体   English   中英

动态结构数组

Dynamic Array of Structures

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我对在网上找到的一段代码有一些疑问,该代码位于http://www.c.happycodings.com/Data_Structures/code9.html

  1. 为什么将strarray定义为**
  2. 我们是否必须首先malloc()数组,然后malloc()数组中的每个元素?

    strarray = (struct node **)realloc(strarray, (count + 1) * sizeof(struct node *));

    strarray[count] = (struct node *)malloc(sizeof(struct node));

  3. 如何完全释放()此数组?

谢谢

2 个回复
  1. strarray是一个指向指针数组的指针,每个指针都指向一个节点结构。 这是对象数组的基本表示。 对于基本类型,您只能使用一个* ,因为它是指向基本类型数组的指针。 您也可以对结构执行此操作,这仅取决于要对数组执行的操作。

  2. 是的,是的。

  3. 首先遍历数组,释放每个成员,然后释放数组。 释放的线索:释放已分配的所有内容。

  1. strarray类型为struct node **因为它是struct node *的动态分配数组-即。 指针数组,其中每个元素都指向一个struct node

  2. 不,根据您要实现的目标,您可以简单地分配一个内存块来保存X struct node ,然后将该指针分配给struct node * 编写该代码的人为一个指针数组分配了内存,这就是为什么他们随后调用malloc为每个单独的struct node分配内存的原因。

    对于他们来说,使用动态指向动态分配的struct node的指针数组的可能性,而不是简单地分配单个连续struct node块,可能与降低调用realloc时复制整个数组(如果需要)的成本有关。

  3. 要释放内存,请反向进行操作。 释放数组中的每个元素,然后释放整个数组。

1 动态结构的动态数组

我需要读取CSV文件并将其存储在动态数组中以备将来使用。 该文件由几个“块”组成。 每个块都有一个“标题行”和各种数量的组件行。 标头和组成行中的字段数是固定的。 CSV文件示例: 结果应该是 我尝试了以下 可以正常工作,但是当涉及到组件行时,编译器对我不满意 ...

2 包含动态结构数组的结构动态数组

我一生都无法弄清楚如何在 c 中解决这个问题。 我有以下结构: 我想要一个动态的 DLPage_t 数组(使用 realloc),然后能够随时将 DLPageItem_t 添加到任何已创建的 DLPage_t 数组成员中。 所以我试图有一个 并做 然后我访问“页面”并设置如下值: ...

3 动态声明的结构数组

假设我们要构造一个结构数组,在编译时无法知道该结构的定义。 这是一个SSCCE : 这在gcc ( C99 )上可以正常工作,但是在clang却不能,结果如下: 因此,我显然依赖于gcc扩展。 我的问题是,如何在符合标准C99处理此类问题? (奖金问题:如何在C++11 ...

2014-04-08 13:38:10 3 144   c
4 如何分配结构的动态数组

我在分配动态结构数组时遇到问题。 该结构由char *字段组成,这是char的另一个动态数组。 分配所有数组后,当我尝试修改结构内容时,Windows将阻止程序。 码: ...

5 类结构/动态数组

我刚从C ++切换到Fortran。 您可能会猜到,我在语法上遇到了一些麻烦。 我要完成的工作是定义一个带有动态数组的类。 然后,我需要将一个类变量传递给子例程,但是我不知道如何声明该子例程中的数组(这里是正确的词吗?我还在C ++中思考)。 这是我的代码中适用的部分。 ...

6 填充动态结构数组

我正在尝试编写一个程序,该程序将创建一个由条目 (reg) 组成的数据库,其数量由用户在运行时设置。 我的想法是制作一个类型struct动态数组来存储我的条目,但我很难将值存储在数组中,我尝试过直接赋值,但没有奏效,只要我输入第一个程序崩溃的价值,我调查了它,大多数人似乎使用专用函数将元素插入数组, ...

2021-01-30 23:22:25 2 51   c
7 结构中的动态数组

您好,我想在C中的结构中创建一个动态数组。这样,当用户在主目录中输入数字时,该数组就会更新并具有他所放置的大小。 如果您不明白我想在这里做什么,他会举一个我做​​的例子,但是有很多问题。 谢谢 ...

2016-04-21 13:02:07 1 29   malloc
8 动态扩展结构数组

我(正在尝试)在c中编写服务器端守护程序,它接受来自客户端的连接。 我需要一个在每个打开的连接上保留信息的结构,因此我创建了一个已定义结构的数组,并使用realloc动态调整了它的大小。 我的问题是在数组中创建结构。 我不断收到此错误: 我究竟做错了什么? 我的大部分时间 ...

9 动态结构数组错误

当我尝试创建ContestantInfo *contestantStructArray = new ContestantInfo [numberOfContestants];时,出现错误“分配不完整的类型” ContestantInfo *contestantStructArray = new ...

10 动态数组和结构

谢谢! 我只需要在Term的右边放置任务。 我必须制作一个多项式的动态数组,每个多项式都有一个动态的项数组。 当给术语一个指数和系数时,我得到一个错误“'{'标记之前的期望表达式”。 分配值时我做错了什么? 此外,是否有一种简单的方法来保持术语的动态数组按其指数排序? 我只是 ...

2011-03-24 02:41:08 4 178   c/ c99
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM