在变量中追加和存储数据

时间:2014-08-05 09:45:42

标签: c

我想存储高达13 Kb的数据。我的应用程序将提供一些延迟(~10秒)的数据块,我需要将其存储在特定的变量中。采用13000的静态数组(uint8 buffer [13000])是不好的。这是我的代码,

uint8 buffer[13000];

void read_byte(uint16 Address)
{
    uint8 data;
    uint8 append_byte;

    send_cmd(Address);   //send command for read from address
    receive_byte(&data); // Read the data and store in data var
    check_append_byte(&append_byte); // check the byte from where need to append
    buffer[append_byte] = data; // store in buffer 
}

void file data()
{
    uint8 i;

    if(flag == 1)
    {
        for(i=0; i<8; i++)
        {
            read_byte(Address);
        }
    }
}

所以我想在运行时增加/减少缓冲区的大小。任何人都可以指导我。

1 个答案:

答案 0 :(得分:1)

您需要使用链表格式而不是数组来保存数据并在运行时分配内存。

您可以在此处找到C中链接列表的精彩教程http://www.learn-c.org/en/Linked_lists