当前位置:首页 » 编程语言 » c语言源文件和函数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言源文件和函数

发布时间: 2023-02-08 03:51:08

Ⅰ 如何在c语言中源文件调用另一个源文件的函数

file1.c 头文件为file1.h
file2.c 头文件为file2.h
比如file2.c要调用file1.c里的一个函数
首先file2.c里要包含file1.h头文件(file1.h里有file1.c的函数申明)
然后file2.c文件里要有file1.c里的外部函数申明,用extern关键字申明
然后就可以直接file2.c里面调用file1.c里的函数了

Ⅱ C语言中如何引用其它C源文件中的函数

在源文件A1.c中调用A2.c 中的函数有两种方法:

1、在A2.c中有完整的函数定义,在A1.c中添加一下要用到的函数原型(声明)就可以了,例如:

在A2.c中:有函数void A2(){...};。

在A1.c中:在文件前头增加一行:void A2();就可以了。

2、把A2.c中完整定义的函数的原型,写到一个A2.h文件中,然后在A1.c的文件头增加#include "A2.h"就可以了。

以上两种方法,在A1.c中都可以正常的调用,就跟在A2.c中调用一样。

其实函数默认是外部的,只要在其他文件中声明就能使用;但是注意如果在前面加上static,就只能在本文件中使用了,不能再被其他的文件调用。

(2)c语言源文件和函数扩展阅读:

1、一个.h文件要 对应有一个.c文件,这样链接器就可以调用这个文件里的函数。比如a.h 和 a.c。

2、把相应的函数定义写在.c文件中。这里要强调一点:要加上#include ".h",这个一般作为一种工程规范。因为如果.c文件中的函数也需要调用同个.c中的其它函数,那么这个.c往往会include对应的.h。比如头文件里进行了变量的声明,这个时候对应的.c文件是一定要加上这个头文件的。

3、再在其他的main.c文件开头添加#include "a.h"。

Ⅲ C语言里头文件和源文件是什么

一般来说
头文件里包含:
1。引用的头文件
2。(外部)全局变量声明
3。结构体,类,枚举,宏定义
4。(外部)函数声明
5。......

源文件包含:
1。引用的头文件
2。全局变量定义
3。函数实现
4。仅本文件内使用的全局变量
5。也可以包含头文件的全部内容
6。......

Ⅳ C语言中 多个源文件之间函数如何调用

首先要建立一个头文件,以.h保存
这样
#include <stdio.h>
typedef struct {
char name[100][60];
char number[100][8];
int mon[100],day[100];
char sex[100];
double height[100];
}inf;
int input(inf *x ,int i);
int output(inf *y ,int h);

当然要有个主函数.
#include "inout.h"
int main(void)
{
int n;
inf id;
do{
printf("*********n");
scanf("%d",&n);
}while(n>100);
input(&id,n);
output(&id,n);
return(0);
}

然后 这个头文件有两个函数.这两个函数,以.c的格式保存.
#include <stdio.h>
#include "inout.h"
int input(inf *x,int i)
{
........
}
#include <stdio.h>
#include "inout.h"
int output(inf *y ,int h)
{
....
}
主函数来负责调用,别的源文件.但是,要有一定要有个头文件.
就相当说, 站长(主函数)要控制各个列车(多个源文件).需要通过调度台(头文件)
这是我的理解,我也是刚学.希望大家指正
编译的时候,要分别编译,先要把非主函数的源文件便宜成obj格式.
我的编译器是:cl /c 源文件名.c (cygwin中是 gcc -c 源文件名.c)
最后和主函数结合.
cl main.c 源文件.obj
cygwin中是 gcc -o main main.c 源文件.o
不知道 我说的够不够明白

Ⅳ 用C语言编写了一个.c的源文件,里面有主函数,和一些被调函数,请问如何在C++中调用这个主函数。

一个程序里面只能有一个主函数,这个要明确!
我明白你的意思,你是写了个程序--
A.cpp文件
又写了个
B.cpp文件程序
想在里面调用A里面的函数,只能调用里面的
全局函数
不能是main函数;
在B的开头加上
#include“A.cpp”可以了

Ⅵ C 语言中有调用关系的所有函数都必须放在同一源程序文件中怎么理解啊

因为当需要用到另一个函数的时候,编译器会在本文件中寻找需要的函数,如果不放在一个文件里就会导致程序中断,所以有调用关系的所有函数都必须放在同一源程序文件中,比如有两个函数 A()和B(),那么如果在A函数中要调用B函数的话,A函数必须要能在本文件中找到B函数,这样才能找到该函数的地址

(6)c语言源文件和函数扩展阅读

函数

C程序是由一组变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。我们可以把函数看成一个“黑盒子”,你只要将数据送进去就能得到结果,而函数内部究竟是如何工作的,外部程序是不知道的。

外部程序所知道的仅限于输入给函数什么以及函数输出什么。函数提供了编制程序的手段,使之容易读、写、理解、排除错误、修改和维护。

C程序中函数的数目实际上是不限的,如果说有什么限制的话,那就是,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名,这个函数称为主函数,整个程序从这个主函数开始执行。

C 语言程序鼓励和提倡人们把一个大问题划分成一个个子问题,对应于解决一个子问题编制一个函数,因此,C 语言程序一般是由大量的小函数而不是由少量大函数构成的,即所谓“小函数构成大程序”

这样的好处是让各部分相互充分独立,并且任务单一。因而这些充分独立的小模块也可以作为一种固定规格的小“构件”, 用来构成新的大程序。

C语言发展的那么多年来,用C语言开发的系统和程序浩如烟海。在发展的同时也积累了很多能直接使用的库函数。

ANSI C提供了标准C语言库函数。

C语言初学者比较喜欢的Turbo C2.0提供了400多个运行时函数,每个函数都完成特定的功能,用户可随意调用。这些函数总体分成输入输出函数、数学函数、字符串和内存函数、与BIOS和DOS有关的函数、 字符屏幕和图形功能函数、过程控制函数、目录函数等。

Windows系统所提供的Windows SDK中包含了数千个跟Windows应用程序开发相关的函数。

其他操作系统,如Linux,也同样提供了大量的函数让应用程序开发人员调用。

作为程序员应尽量熟悉目标平台库函数其功能。这样才能游刃有余地开发特定平台的应用程序。比如作为Windows应用程序的开发者,应尽量熟悉Windows SDK;作为Linux应用程序开发者,应尽量熟悉Linux系统调用和POSIX函数规范。

Ⅶ C语言中 多个源文件之间函数如何调用问题

题目明显提示你没有定义“add”呀,要求你查看“add”哦!再个你程序还是有问题的吧,如果你把它放到不同的源文件中一起编译连接的话,还会出现重复定义的错误吧。改正如下:
#include<stdio.h>
#include<malloc.h>
struct add *wwe();
struct add
{
int xuehao;
};
main()
{
struct add *p1;
p1=wwe();
}
//被调函数332.c
#include <stdio.h>
#include<malloc.h>
struct add *wwe() //此处你是定义一个名为wwe的函数,没有参数,返回值类型是:struct add*
{
struct add *p1;
p1=(struct add *)malloc(sizeof(struct add)); /*此处“extern”可以不要吧,一般他是用来声明用的,*/
return p1; //此处要返回一个值,没有值是不可以的
}

Ⅷ c语言中的头文件,源文件,资源文件分别指什么_

我们写个作文,其实要加上#include<新华字典。h>
用词语要《汉语词典。h》用到数字的加减法《数学。h》物理么《物理。h》

电脑比人傻,所以,人一看就知道中文还是英文了。
这里包含了函数,比如一些单词啊。词组啊。人也可以分辨。但是电脑不可以。
这些算头文件吧。。
所以,你要自己定义函数。这我感觉其实也算了。但是,它有自己独特的方式,不属于最基础的东西,所以,这些经常不被称作头文件。另一个原因是《stdio.h》里面会包含一些即便是你定义的函数,这个函数做出来的时候用了一些基本的东西,包含在stdio。h里面。所以。。。


源文件,我感觉就是一个函数程序吧。可以是里面的一个scanf()或者printf()这都属于,
如果你不include<stido.h>那么你自己需要定一个scanf函数,定义个源文件。这个源文件告诉计算机,怎么输入你的字符的。
而同样,你写出的一个程序,它就是一个源文件,广义狭义的范围吧。

资源文件我也会类似的分广义狭义的去理解。
比如你做个网页,分几个步骤,这种套路算一种资源文件。
比如#include《xxx》int main(){……return0;}
这是一种类似套路的资源文件。
另一种是,比如判断素数,简单的我们先做一个判断素数的函数,当我们后面直接用它去判断就算一种资源文件了。比如上面的scanf() printf(),这都属于资源之类的,但我们直接调用了。。

刚自习一周多。不知道对错。有问题帮忙指出,谢谢!

Ⅸ C语言源程序是由什么构成的

C语言源程序是由:数据类型、常量与变量、数组、指针、字符串、文件输入/输出、运算构成。

1、数据类型

C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

2、常量与变量

常量其值不可改变,符号常量名通常用大写。

变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。

3、数组

如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。

4、指针

如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。

指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。

指针是一把双刃剑,许多操作可以通过指针自然的表达,但是不正确的或者过分的使用指针又会给程序带来大量潜在的错误。

5、字符串

C语言的字符串其实就是以''字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。使用这些函数需要引用头文件<string.h>。

6、文件输入/输出

在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件<stdio.h>;中。

7、运算

C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。

当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。

在学习中,对此合理进行分类,找出它们与数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。

(9)c语言源文件和函数扩展阅读:

C语言的特有特点:

1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。

2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。

3、不同的变量类型可以用结构体(struct)组合在一起。

4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。

5、部份的变量类型可以转换,例如整型和字符型变量。

6、通过指针(pointer),C语言可以容易的对存储器进行低级控制。

7、预编译处理(preprocessor)让C语言的编译更具有弹性。

Ⅹ C语言的程序、文件、函数之间的关系

程序是指你为了完成你的功能而编写的项目代码。

文件是信息的保存方式,包括程序文件、库文件、数据文件等。广义上说,设备也包含在文件的定义里面。

由于程序规模可能非常大,编程时往往将将代码划分成若干模块,每一模块对应一个子功能,这样也方便实现程序代码的复用。这一一个模块,在形式上就体现为函数。——如果规模再大一些,可能还需要将一些相关的类封闭成类库,以方便调用,进一步提高程序的复用性。

这些只是经验,谈不上理论,也没必要去钻牛角尖。程序多写一些,你自然就明白了。