大程序结构1(项目)

首先是为什么要学文件

1--以下面代码为例进行讲解

#include <stdio.h>
int max(int a,int b);
int main() {
	int a=5;
	int b=6;
	printf("%d\n",max(a,b));
}
int max(int a,int b)
{
	return (a>b?a:b);
}

 2--下面这个项目只是简单的把自己定义的函数放在项目中一个分文件里。

 因为编译器会把整个项目中的文件后然后链接起来。

(这里会有疑问如果你自己定义的函数在下一个文件中怎么办,因为编译的话是每次对单个源代码文件编译,笔者猜测实际计算机操作时是将所有代码整理成一个文件,然后进行编译,反正计算机有自己的方法,而这种方法肯定是正确的)。

 3--接下来是完整的文件结构

---main.c---

#include <stdio.h>
#include "max.h"
int main() {
	int a=5;
	int b=6;
	printf("%d\n",max(a,b));
}
---max.c---

#include "max.h"
int max(int a,int b)
{
	return (a>b?a:b);
}
---max.h---

int max(int a,int b);

结合上面的文件可以看出原来属于int max(int a,int b);的位置被替换成了#include "max.h"

而max.h里面的文件就是函数声明。所以可以引申到#include <stdio.h>这个相当于替换了一堆在指定目录的函数声明(printf,scanf等等)。

4--还有就是双引号还是尖括号的问题--

 这个就可以印证上面的<>只是让编译器去指定的目录去找,所以自己定义的库一般用双引号"",系统的一般用尖括号<>。

5--static

以前在一个函数中static一个本地变量使之成为静态本地变量,因为全局变量在项目中是所有.c文件都能使用,加上static使之成为只能在当前文件单元中使用的全局变量。最有趣的在函数前面加static可以使函数只能在当前.c文件中被使用。(全文件见3--)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值