【C++程序设计】——利用函数实现指定功能(四)

在这里插入图片描述


👨‍💻个人主页@开发者-削好皮的Pineapple!

👨‍💻 hello 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 削好皮的Pineapple! 原创

👨‍💻 收录于专栏C++程序设计


请添加图片描述

请添加图片描述


⭐前言⭐

终于终于到最后一小节了啊啊啊啊!大家耐心看,继续学习,新的一天fighting~
看完这短短短短的一小节,你将会收获:
上一节剩下的变量的声明和定义、内部函数和外部函数以及头文件的一些使用方法。


🎶一、变量的声明和定义


函数的声明在前几Part已经了解到是函数的原型,而函数的定义是函数功能的确立。
下面这一段文字详细阐述变量的声明和定义,可能有点绕,但是很容易懂。

对变量而言,声明与定义的关系稍微复杂一些。
在声明部分出现的变量有两种情况:一种是需要建立存储空间的(如int a;),另一种是不需要建立存储空间的(如extern int a;)。前者称为定义性声明,或简称为定义。后者称为引用性声明
广义地说,声明包括定义,但并非所有的声明都是定义。对于“int a;”而言,它是定义性声明,既可说是声明,又可说是定义。而对于“extern int a;而言,它是声明而不是定义。一般为了叙述方便,把建立存储空间的声明称为定义,而把不需要建立存储空间的声明称为声明
例子:

int main()
{
extern int a;//这是声明,不是定义。声明a是一个已定义的外部变量。
...
...
}
int a;//是定义,定义a为整型外部变量

🎶二、内部函数和外部函数


(一)内部函数
如果一个函数只能被本文件中其他函数所调用,它被称为内部函数。又称为静态函数
函数首部的一般格式为:

static int func(int a,int b)

(二)外部函数
如果在函数首部的最左端冠以extern,则表示此函数是外部函数,可以供其他文件可调用
函数首部可以写为:

extern int func(int a,int b)

例子:输入两个整数,要求输出其中的大者。用外部函数来实现。

#include<iostream>
#include "max.h" // 包含头文件
using namespace std;
int main() {
	extern int max(int, int );//声明在本函数中将要调用在其他文件中定义的max函数
	int a, b;
	cin >> a >> b;
	cout << max(a, b) << endl;
	return 0;
}
//放在不同文件中,max.cpp (函数定义文件) 
int max(int x, int y) {
	int z;
	z = x > y ? x : y;
	return z;
}

运行结果如图:
在这里插入图片描述


🎶三、头文件


(一)头文件的内容
(1)对类型的声明
(2)函数声明
(3)内置(inline)函数的定义
(4)宏定义
(5)全局变量的定义
(6)外部声明定义
(4)其他头文件

不同的头文件包括以上不同的信息,提供给程序设计者使用,这样,程序设计者不用自己重复书写这些信息,只须用一行#include指令就把这些信息包含到本文件了,大大地提高了编程效率。由于有了#include 指令,就可以把不同的文件组合在一起,形成一个文件。因此说,头文件是源文件之间的接口。
(二)关于C++标准库和头文件的形式
新的C++标准把库的建设纳入标准,规范化了C++标准库。
以便使C++程序能够在不同的C++平台上工作,便于互相移植。
新的C++标准库中的头文件不再包括后缀.h,例如:
#include <string>
但为了使大批已有的C程序能继续使用,许多C++编译系统保留了C的头文件,如C++中提供的cmath头文件,其中第一个字母c表示它是继承标准C的头文件。也就是说,C++提供两种不同形式的头文件,由程序设计者选用。如:

#include < math.h> //形式的头文件
#include < cmath >//C++形式的头文件

效果是一样的,建议尽量用符合C++标准的形式,即在包含C++头文件时一般不用后缀。如果用户自己编写头文件,可以用.h作后缀。这样从#include指令中即可看出哪些头文件是属于C++标准库的,哪些头文件是用户自编或别人提供的。


请添加图片描述

结束语🥇

以上就是C++程序设计
持续更新C++程序设计教程,欢迎大家订阅系列专栏🔥C++程序设计你们的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值