我有一个从用户那里读取数据的结构:
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;
当程序关闭时,数据会擦除,这就是我喜欢的样子。所以我希望它存储在一个数组中,没有文件或数据库!
>data[10]
属于没有seconds
的Training
类型。尝试:
Training data[10];
data[10].time.seconds = input.time.seconds;
data[10].distance = input.distance;
两件事,训练集有一个"时间"字段来访问秒数,如果你定义一个包含 10 个元素的数组,你只能使用 data[0] 到 data[9],data[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;