数组作为struct数据库?

时间:2013-11-12 21:51:00

标签: c

我有一个从用户读取数据的结构:

typedef struct
{
    int seconds;
} Time;

typedef struct
{
    Time time;
    double distance;
 } Training;


 Training input;

 scanf("%d %lf", input.time.seconds, input.distance);

这个scanf将循环播放,用户每次都可以输入不同的数据,我想将这些数据存储在一个数组中供以后使用。我认为我想要像arr [0] .seconds和arr [0] .distance。

这样的东西

我尝试将输入的数据存储在一个数组中,但它根本不起作用......

Training data[10];

data[10].seconds = input.time.seconds;
data[10].distance = input.distance;

当程序关闭时数据会擦除,这就是我喜欢它的方式。所以我希望它存储在数组中,没有文件或数据库!

2 个答案:

答案 0 :(得分:1)

data[10]的类型为Training,但没有seconds。尝试:

Training data[10];

data[10].time.seconds = input.time.seconds;
data[10].distance = input.distance;

答案 1 :(得分:0)

两件事,训练集有一个'时间'字段来访问秒,如果你定义一个10元素的数组,你只能使用数据[0]到数据[9],数据[10]将是超过阵列结束。

Training data[10];

data[0].time.seconds = input.time.seconds;
data[0].distance = input.distance;

....

data[9].time.seconds = input.time.seconds;
data[9].distance = input.distance;