在Dev-C++中,为什么我导入了项目所需的文件却无法编译我的项目?

In Dev-C++, Why cannot I compile my project although I imported the project required files?

在 Dev-C++ 中,我想创建一个项目来对 table 进行排序,这就是我将源文件引入我的项目的原因。但是当我想编译我的项目时,编译器给我一个错误,它无法识别函数。

这是我的第一个源文件。

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define LENGTH 5

我将第一个文件保存在电脑中为"Preprocessors.c"。

第二个源文件:

void Selective_sorting(int Table[], int Length)
{
     int *Temporary;
     int Smallest_index;

     for(register short int Outside = 0; Outside < Length; Outside++)
     {
         Smallest_index = Outside;

         for(register short int Inside = (Outside + 1); Inside < Length; Inside++)
         {
             if(*(Table + Inside) < *(Table + Smallest_index))
                 Smallest_index = Inside;
         }

         Temporary = (int*) malloc(sizeof(int));
         if(!Temporary)
         {
             printf("An error occurred while allocating memory.\n");
             exit(1);
         }

         *Temporary = *(Table + Smallest_index);
         *(Table + Smallest_index) = *(Table + Outside);
         *(Table + Outside) = *(Table + Smallest_index);

         free(Temporary);
     }
 }

我把第二个源文件在电脑里保存为"Selective_func.c"。

以及 运行 程序的第三个源代码:

int main()
{
    int table[5] = {9, 7, 6, 5, 3};
    Selective_sorting(table, 5);

    for(register short int Counter = 0; Counter < 5; Counter++)
    printf("%d\n", *(table + Counter));

    return 0;
}

第三个源文件我在电脑里保存为"Main_func.c"。

并且我将源文件引入到我的项目中,当我编译项目时,出现了这个错误:

您没有正确包含文件。

您的主文件需要包含它需要的 header:例如 stdlib.h 和 stdio.h,还有定义 void Selective_sorting(int Table[], int Length); 的 header。

那么你的实现文件还应该包含与 void Selective_sorting(int Table[], int Length); 原型相同的 header + 它使用的东西所需的任何 header 文件(例如 stdio.h 因为你使用printf()).

基本上你应该永远记住你想要编译的任何 C 文件(.c 或 .h)不知道任何函数、变量或类型(系统 built-in 除外)如果你不要包含定义它的 header 文件。