函数原型究竟怎样理解?我在看c++ primer plus看到第二章函数的时候,书上说在使用函数之前必须提供函数原型,然后比如sqrt()函数在c++库中定义成一个(可能)带小数部分的数字(如6.25)作为参
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/29 10:41:23
函数原型究竟怎样理解?我在看c++ primer plus看到第二章函数的时候,书上说在使用函数之前必须提供函数原型,然后比如sqrt()函数在c++库中定义成一个(可能)带小数部分的数字(如6.25)作为参
函数原型究竟怎样理解?
我在看c++ primer plus看到第二章函数的时候,书上说在使用函数之前必须提供函数原型,然后比如sqrt()函数在c++库中定义成一个(可能)带小数部分的数字(如6.25)作为参数,并返回一个相同类型的数字,c++称这种数字为double.sqrt()的函数原型像这样:double sqrt(double)或这样double x; x=sqrt(6.25);,
我想知道这里说的这种数字,也就是说的double,是因为小数部分呢?还是因为返回一个相同类型的数字?才叫double.
然后下面接着说,在程序中使用sqrt()时,也必须提供函数原型,可以用两种方法实现,1:在源代码文件中输入函数原型.2:包含头文件cmach,其中定义了原型.
为什么这里用“也必须”提供函数原型?然后再一个实例中这样写 头文件包含了#include,这里已经按上面的第2种方法包含在头文件定义了原型了,为什么在函数体中还要使用double side; side=sqrt(6.25)呢?
第二个问题问为什么书上说“也必须”提供函数原型,函数都不是在程序中使用的吗?为什么下面说在程序中使用sqrt()函数是,也必须提供函数原型呢?难道不实用函数是也必须提供原型么?
下面应该怎样理解呢?
这是个实例因为太多,被我删了一点
#include //书中说有两种方法实现提供sqrt()函数原型,1:在代码文件中输入原型.2:包含头文件cmach.既然已经有语句提供函数原型了,为什么还要有这个头文件?//
int main()
{
using namespace std;
cout
函数原型究竟怎样理解?我在看c++ primer plus看到第二章函数的时候,书上说在使用函数之前必须提供函数原型,然后比如sqrt()函数在c++库中定义成一个(可能)带小数部分的数字(如6.25)作为参
前面这个“原型”的意思是:原本的数据类型.
这里,先要给你解释一些基本概念:
变量和数据类型.
变量就是储物柜.数据类型,就是你将要放进这个储物柜的物品种类.
存放不同物品的储物柜,大小相差很大.如果你开一个车库来存放一只苹果,那就大大浪费了空间.反之就放不进去,造成数据丢失.所以在c++中,每开一个储物柜,就要预先说明它是用来存什么的.如果是存单个水果的,那就只开一点点空间.如果是要存飞机的,那就要弄个大机库.
例子:double x; 开一个用来存放double类物品的储物柜,并且命名为x.
而计算机编程语言中,基本的数据类型无非就那么几个:整数int / integer / long; 实数double / float; 布尔型/逻辑型 bool / boolean; 字符型char; 字符串string / cstring;
其中,每一个类型都有其固定的最大长度,就是c++为这种储物柜所设计的空间大小.
同一类的数据,如果超出了允许的长度,那要么就拆成几个,要么就用长度更大的类型.
比如说,int表示一个整数,而long也是.区别在于long用更大的储存空间,可以表示更大的整数.
double在英语中是双倍的意思.double就比float用了双倍的储存空间来储存实数(整数+小数).
2. 函数
关于函数,以后有进一步认识之后会有不同的定义.这里对于现在简单的函数给你一个直观的认识.
一个函数,就像是一部机器、一条生产流水线.加入一种或几种原料,产出一个产品.从原料到产品的加工步骤和方式定义在函数内部,调用的时候无须理会.就比如榨汁机,输入单个水果类型的物品作为原料,产出汁水类型的果汁.输入苹果,产出苹果汁.输入芒果,产出芒果汁.
sqrt()也一样.其实sqrt()只是一个给人看的简称,c++里面、cmath里面根本不存在sqrt()这个函数.真正完整的函数就是double sqrt(double).第一个double,表示这部机器的产物是一个double种类的物品.括号中的double,表示这部机器一次只需要一个double类型的物品作为原料.
后面的那个“原型”是什么意思呢?就是指sqrt()这部机器内部的运作方式、加工工序.后面那句话的意思是,你想要在你的程序中,使用sqrt()这部机器.那么你要么就要先在你的程序中造出来:(在源代码文件中输入函数原型).如果你不会造,那也没关系,把人家造好的机器拿过来用也行,但你要先告诉我有这部机器的人叫什么名字(包含头文件cmach,其中定义了原型.cmach就是拥有sqrt()这部机器的人)