我是一个没有经验的 C 程序员:我想要所有低于 5000 且是 5 的倍数的数字。这是我目前的做法:
int main()
{
int i;
const int max =5000-1;
for(i=2; i<(max+1); i++)
{
if(!(i%5))
{
printf("%d\n", i);
}
}
return 0;
}
假设我希望它们都列在一个数组中。我能做的只是预先分配一个整数数组并填写各种位置。当然,我无法事先知道确切的所需长度,所以我会高估它的长度。
但是,我来自 C++ 背景,所以通常我会做的是推回一个向量,一切都干净整洁。但是在 C 中做到这一点的专业方法是什么?你们会预先分配还是动态调整数组的大小?
我目前正在使用 Herbert Schildt 的“Turbo C/C++”,我确信当我深入研究时会有更好的(和最新的)参考。