C语言学习_C如何在一个文件里调用另一个源文件中的函数

问题

  C如何在一个文件里调用另一个源文件中的函数,如题。

解决办法

  当程序大了代码多了之后,想模块化开发,不同文件中存一点,是很好的解决办法,那我们如何做才能让各个文件中的代码协同工作呢?我们知道,main函数是程序入口,我们希望把不同的功能写在不同的函数中,并把这些函数统一放到另外一个文件里,以便main函数显得太长,main函数可以在用到某方法的时候调用来处理。为了实现这个步骤,我们这样做。首先定义一个c代码的头文件,如function.h,在里面声明将要实现的函数,如int add(int a,int b); ,然后新建一个源文件为function.c,在function.c的开头#include "function.h",然后下面写头文件中已声明的函数的实现。这样写完了之后,main函数如果要调用这个源文件中的函数,只需要在main函数的开头部分加入#include<function.h>,如此这般,main函数调用相应函数的时候就会自动找到程序的实现部分代码了。

代码实现

1 # include<stdio.h>
2
3 int add(int a,int b);

function.h

1 #include<function.h>
2
3 int add(int a,int b)
4 {
5    return a+b;
6 }

function.c

 1 # include<stdio.h>
 2 # include<function.h>
 3
 4 int main()
 5 {
 6    int a = 1,b =2;
 7    int c = add(a,b);   //这里是对function.c中的add函数的调用
 8    printf("c=%d",c);
 9
10    return 0;
11 }

main.c

这样就是实现了main函数调用其他文件中的函数,可以方便的进行模块化开发。

时间: 2024-10-17 02:31:17

C语言学习_C如何在一个文件里调用另一个源文件中的函数的相关文章

C++一个项目里有两个CPP文件,想在一个CPP文件里调用另一个CPP文件的计算结果,怎么实现啊?

把1.cpp和2.cpp放到同一目录下,例如:1.cpp 代码如下#include <iostream> int main(){ void ChangeFunction(int* input, int n); void PrintData(int* input, int n); int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; PrintData(a, 10); ChangeFunction(a, 10); PrintData(a, 10); return

cakephp 如何在一个模型里调用另一个模型

$admin_users = ClassRegistry::init('AdminUsers'); $admin_name = $admin_users->find('list',array( 'fields' =>'username', 'conditions'=>$conditions ) ); 如上

(转载)在m文件里调用simulink模型---sim命令的用方法

在m文件里调用模型mdl关键是用sim命令. [ t, x, y ] = sim( model, timespan, options, ut) [ t, x, y1, y2, -, yn] = sim( model, timespan, options, ut) (1)model:需要进行仿真的系统模型框图名称: (2)timespan:系统仿真的时间范围(起始至终止时间),可有如下形式: tFinal:设置仿真终止时间.仿真起始时间默认为0: [tStarttFinal]:设置起始时间(tSt

Entity Framework 6 Recipes 2nd Edition(11-4)译 -&gt; 在”模型定义”函数里调用另一个”模型定义”函数

11-4.在”模型定义”函数里调用另一个”模型定义”函数 问题 想要用一个”模型定义”函数去实现另一个”模型定义”函数 解决方案 假设我们已有一个公司合伙人关系连同它们的结构模型,如Figure 11-4所示: Figure 11-4. A model representing the associate types in a company together with the reporting association 在我们的虚拟的公司里, , team members被一个team lea

在一个文件里追加内容和换行

由于今天要校验数据的完整性,需要把查询失败的SQL写入文件里,需要追加和换行,要用PHP的几个函数,php.net上说换行要用\r或\n或\r\n(根据操作系统进行选择),我按照php.net说的做但是不行,发现用常量PHP_EOL是可以的. 方法一: 1 $sql="SELECT $relation_primary_key,old_value FROM $relation_table WHERE name='{$row->$new_key}' AND state_types='{$old

R语言学习笔记之excel文件读取

在win32位的系统下,RODBC包内的函数是可以直接运行的,但在win64位的系统则不支持! 1.读取外部文件read.table()---csv,txt,excel 最基本函数是read.table(),先介绍read.table(),然后再介绍专门用来读csv的read.csv(). Description Reads a file in table format and creates a data frame from it, with cases corresponding to l

在iframe里调用parent.func()引出的js函数运行在它们被定义的作用域里,而不是它们被执行的作用域里

有个document里定义了一个函数func(),同时在document里嵌入了一个iframe,在这个iframe里调用父窗口的方法:parent.func(),本来我以为这个函数的运行环境是在这个iframe自己里面,测试发现虽然是在iframe里面调用的这个函数,但是运行环境依然是在父窗口里. 所以也验证了JS权威指南中的:js函数运行在它们被定义的作用域里,而不是它们被执行的作用域里. 又比如 var a=1; function f1(){console.log(a);}; functi

C语言引用另一个源文件中定义的数组

C语言中是可以引用另外一个源文件的全局数组的,但是不能引用局部数组. 引用方式举例如下: 设a.c文件有有数据定义 int  array1[10]; 现有b.c文件中想访问a.c中的array1数组 那么b.c文件中首先添加如下语句 extern int array1[10]; 然后就可以访问数组array1和它的元素了.

c++ 一个cpp文件如何调用另一个cpp文件已经定义的类?我不想重复定义

文件test1.cpp有类class A;文件test2.cpp有类class B.如在test2.cpp中想用A:#include "test1.cpp" 当然一般的做法是将类的声明放在.h文件里,定义放在.cpp文件,然后可以直接在B类中保存一个A类的指针,那样即可实现使用A类了. 原文地址:https://www.cnblogs.com/ryanzheng/p/8455031.html