【问题标题】:C - How can I save structs to a malloc'd section of memory?C - 如何将结构保存到内存的 malloc 部分?
【发布时间】:2010-09-15 17:21:07
【问题描述】:

我的问题很基本,但已经有一段时间了。我正在阅读文本文件并将文本中的数字保存到结构“记录”中。在我将文本读取到我的记录缓冲区后,我想将它放在内存区域中。

typedef struct
{
 int line_status[64];
 float line_data[64], relativetime;
 unsigned long blkhdr_ticks;
} Record;

Record *storage; 
storage = (Record*)malloc(nRange*sizeof(Record)); 
Record buffer;

其中 nRange 是一些随机数,缓冲区是带有值的记录,尽管我没有列出将这些分配给缓冲区的代码。我认为语法类似于:

&storage = buffer;

但我知道这是不对的。任何帮助将不胜感激。

【问题讨论】:

    标签: c memory dynamic malloc


    【解决方案1】:

    您也可以将存储视为一个数组。

    storage[0] = buffer;
    storage[1] = anotherBuffer;
    ...
    storage[nRange-1] = lastBuffer;
    

    【讨论】:

      【解决方案2】:

      您应该可以说*storage = buffer;storage[0] = buffer;

      【讨论】:

        【解决方案3】:

        既然storage也可以看作是一个nRange记录数组(我猜这确实是你的意图)你可以简单地这样做:

         storage[0] = buffer;
         storage[someOtherIndex] = buffer;
        

        【讨论】:

          猜你喜欢
          • 2015-11-09
          • 2015-06-27
          • 2021-05-29
          • 2011-12-06
          • 2020-12-14
          • 2015-01-05
          • 1970-01-01
          • 1970-01-01
          • 2018-11-08
          相关资源
          最近更新 更多