c++ - 标题中的数组

标签 c++ arrays header

下面的问题是我项目的一小部分。我把问题简化了很多。

我已经全局声明了数组大小和数组。

int N;
double array[N];

现在使用函数填充数组。

void arrayfill()
{
    for(int i=0;i<N;i++)
    {
        array[i] = i;
    }
}

接下来,我有一个函数,它根据变量 var 对所有数组的元素求和。

double sum(int var)
{
    double s;
    for(int i=0;i<var;i++)
    {
        s+=array[i];
    }
    return s;
}

现在,我想要的是创建一个包含填充函数的头文件,另一个包含求和函数的头文件,最后我想从主函数调用 sum()。我这样做的原因是因为我想填充数组一次并在许多不同的地方使用不同的 var 值继续使用 sum()。

有人可以帮忙吗?

最佳答案

这是一种方法。

数组.h:

extern const int N;
extern double array[];

数组填充.h:

void arrayfill();

数组总和.h:

double sum(int var);

主要.cpp:

#include "arrayfill.h"
#include "arraysum.h"

int main()
{
   arrayfill();
   double s = sum(10);
   return 0;
}

数组.cpp:

#include "array.h"

const int N = 200;
double array[N];

数组填充.cpp:

#include "array.h"
#include "arrayfill.h"

void arrayfill()
{
    for(int i=0;i<N;i++)
    {
        array[i] = i;
    }
}

数组总和.cpp:

#include "array.h"
#include "arraysum.h"

double sum(int var)
{
   double s = 0.0;
   for(int i=0;i<var;i++)
   {
      s+=array[i];
   }
   return s;
}

使用 g++ 构建程序:

g++ -c array.cpp
g++ -c arrayfill.cpp
g++ -c arraysum.cpp
g++ -c main.cpp
g++ -o arraytest array.o arrayfill.o arraysum.o main.o

关于c++ - 标题中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33503303/

相关文章:

c++ - vector 显示错误

c++ - 将 std::ostream 的子级传递给需要 std::ostream * 的库

javascript - 在 javascript 或 jquery 中比较两种不同的数组类型

python - 如何在整数数组中找到所有有序的元素对,其总和位于给定的值范围内

php - 重新排列php数组

c++ - 如何克服大量生成代码导致的编译时间过长?

php - 一键下载并 "thank you"页面

php - 从 PHP 脚本返回 JSON

c++ - 将 C++ 结构写入文件并使用另一种编程语言读取文件?

c++ - 访问函数变体时出现 "Invalid conversion"错误