多個.c和.h(方法、變量)相互調用,gcc編譯運行

頭文件arithmetic.h源文件arithmetic..c

頭文件main.h源文件main.c

arithmetic.h中聲明

int Add(int arg0, int arg1);
int Sub(int arg0, int arg1);

arithmetic.c實現 

#include "arithmetic.h"
float PI = 3.14;
int Add(int arg0, int arg1)
{
    return arg0+arg1;
}
int Sub(int arg0, int arg1)
{
    return arg0-arg1;
}

main.h聲明

void myprint1(void);
void myprint2(int arg0);

main.c實現且調用arithmetic.c的方法

#include <stdio.h>
#include "main.h"
#include "arithmetic.h"
int main(void) {
    int sum = 0;
    int diff = 0;
    sum = Add(1, 2);
    diff = Sub(2, 1);
    myprint1();
    myprint2(sum);
    myprint2(diff);
    getchar();
    return 0;
}

void myprint1(void)
{
    printf("調用打印方法成功\n");
}
void myprint2(int arg0)
{
    printf("arg0=%d\n",arg0);
}

 運行cmd,gcc編譯運行。gcc main.c arithmetic.c -o main

 

變量調用。全局變量分別申明於main.c和arithmetic.c。用extern 表示使用外部變量。

arithmetic.h中聲明增加Circle(),initValue(),即

int Add(int arg0, int arg1);
int Sub(int arg0, int arg1);
float Circle(int arg0);
void initValue();

arithmetic.c中

#include "arithmetic.h"
float PI = 3.14;
int Add(int arg0, int arg1)
{
    return arg0+arg1;
}
int Sub(int arg0, int arg1)
{
    return arg0-arg1;
}
float Circle(int arg0)
{
    return arg0*PI;
}
void initValue()
{
	extern int global_variate;
	global_variate = 100;
}

main.h

void myprint1(void);
void myprint2(int arg0);
void myprint3(float arg0);

 main.c

#include <stdio.h>
#include "main.h"
#include "arithmetic.h"
extern float PI;
int global_variate = 0;

int main(void) {
    int sum = 0;
    int diff = 0;
    sum = Add(1, 2);
    diff = Sub(2, 1);
    myprint1();
    myprint2(sum);
    myprint2(diff);
    myprint3(PI);
    float c = Circle(2);
    myprint3(c);
    PI = 3;
    myprint3(PI);
    c = Circle(2);
    myprint3(c);
    myprint2(global_variate);
    initValue();
    myprint2(global_variate);
    getchar();
    return 0;
}

void myprint1(void)
{
    printf("調用打印方法成功\n");
}
void myprint2(int arg0)
{
    printf("arg0=%d\n",arg0);
}
void myprint3(float arg0)
{
    printf("arg0=%.2f\n",arg0);
}

 不在源文件路徑執行cmd則用絕對路徑

發佈了25 篇原創文章 · 獲贊 17 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章