👨💻个人主页:@开发者-削好皮的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++程序设计你们的支持!