在C中的数组末尾附加一个浮点数

时间:2017-08-02 04:35:07

标签: c arrays

我试图在C的数组末尾附加一个浮点数。这是我使用的代码:

#include <stdlib.h>
#include <stdio.h>

int main()
{
    float timestamps[] = {0,3,2,1,5};
    float ISI[25];
    int i,j;
    for (i = 0; i<5; i++ )
    {
      for (j=0;j<5;j++)
        {
          float diffTimestamp = timestamps[j] - timestamps[i];
          //remove points greater than 1 sec and less than -1sec
          if((diffTimestamp<=1.0)&&(diffTimestamp>=-1.0)){
              //append the diffTimestamp to ISI array 
          }
          else
            continue;
        }
   }
    return 0;
}

我尝试使用Google搜索并遇到了几个类似的问题: Appending a value to the end of a dynamic array。另一个常见的事情是使用一个结构来放大小变量和数组。

但由于我对C的了解有限,我无法实现代码。

1 个答案:

答案 0 :(得分:2)

所以当你初始化数组时:

float timestamps[] = {0,3,2,1,5};

你正在做的是实际分配一个完全相同大小的内存块。与脚本语言不同,在这种情况下,数组不是数据类型,而是一个连续保存5个浮点数的内存块。

应该做的是你应该使用linked list来实现你在这里尝试的东西。

编辑:如果你知道需要多大的内存,你也可以使用malloc。