#include <stdio.h>
void funcA(int );
void funcB(int );
int main()
{
funcA(5);
}
void funcA(int n)
{
if(n==0) return ;
printf("funcA : %d\n",n);
funcB(n-1);
return;
}
void funcB(int n)
{
if(n==0) return ;
printf("funcB : %d\n",n);
funcA(n-1);
return;
}
-
源程序 经过预编译 产生对象文件 什么什么.o 最终经过链接将所有的.o 形成可执行文件 a.out
-
我们又可以将两个函数 定义在 unite.c 这个文件里 分开g++ -c 形成对象文件
-
函数的定义在头文件 函数的声明在源文件
-
也可以新建一个头文件 vim header1.h 这个头文件 将内容放入头文件中
在test1.c的时候调用这个头文件 -
当你vim 一个 header1.h 他会默认生成;
防止重复定义
#ifndef _HEADER1_H
#define _HEADER1_H
#endif
代码实例:
demo1.h的头文件
#include<stdio.h>
#ifndef _DEMO1_
#define _DEMO1_
void funcA(int );
void funcB(int );
#else
#endif
代码demo1.cc
#include <stdio.h>
#include "demo1.h"
void funcA(int n)
{
if(n==0) return ;
printf("funcA : %d\n",n);
funcB(n-1);
return;
}
void funcB(int n)
{
if(n==0) return ;
printf("funcB : %d\n",n);
funcA(n-1);
return;
}
代码test1.c
#include <stdio.h>
#include "demo1.h"
int main()
{
funcA(5);
}
运行结果