我想存储高达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);
}
}
}
所以我想在运行时增加/减少缓冲区的大小。任何人都可以指导我。
答案 0 :(得分:1)
您需要使用链表格式而不是数组来保存数据并在运行时分配内存。
您可以在此处找到C中链接列表的精彩教程http://www.learn-c.org/en/Linked_lists