我想用 C 编写计算机模拟代码。我对 C 非常陌生,主要有 Python 和 Javascript 方面的经验。我想要一些关于以下最佳实践的建议。
计算机模拟基于许多参数。指定这些参数值的最佳方法是什么?应该将它们指定为变量,还是应该使用#define
宏设置它们的值。
例如,我可以做
int numpeople = 100;
或者,
#define numpeople 100
哪个是更好的做法,还是没关系?模拟中某些数组的长度取决于参数。如果我使用变量方法指定参数值,那么我不能使用它来指定长度数组。
例如,
// This is invalid.
int numpeople = 10;
int ids[numpeople];
在这种情况下,你会说我别无选择,我应该使用
#define numpeople 100
int ids[numpeople];
还是有另一种更好的方法。
最后,无论我以哪种方式定义参数,我都想在一个地方列出参数的可能值,然后让模拟针对每个可能的值运行。也就是说,假设
parameter1
可以取值 100、200、300,parameter2
也可以取值 5、25、50。
我想首先运行parameter1
取值 100 和parameter2
取值 5 的模拟。然后,我想用parameter1
取值 100 和parameter2
取值 25 来运行它...等等,对于可以用这些值形成的所有 9 种组合. 如果我不必在每次模拟完成时手动更改组合,我会更喜欢。有没有一种方法可以以某种形式列出所有组合(我要求推荐用于此组合的数据结构),然后让代码一次读取一个。这就是我在运行时设置参数值的方式。
可能没有一种方法可以做到这一点。但我将不胜感激您认为是一种好方法的任何方法。
如果您需要任何进一步的说明,请告诉我。
感谢您阅读本文和您的回答。