问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

函数原型究竟怎样理解?

发布网友 发布时间:2022-09-09 00:07

我来回答

2个回答

热心网友 时间:2024-12-05 23:57

前面这个“原型”的意思是:原本的数据类型。

这里,先要给你解释一些基本概念:

变量和数据类型。

变量就是储物柜。数据类型,就是你将要放进这个储物柜的物品种类。

存放不同物品的储物柜,大小相差很大。如果你开一个车库来存放一只苹果,那就大大浪费了空间。反之就放不进去,造成数据丢失。所以在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()这部机器的人)

追问写的很好 举例也通俗易懂,但是还有个问题能帮忙解答一下吗,在补充问题里的那个示例。

追答头文件cmach里,包含了各种机器(函数),其中就有double sqrt(double).
所谓“在源代码文件中输入函数原型”,指的不是double x; x=sqrt(6.25);而是:
double sqrt(double)
{
.....
return ...;

}
cmach里面包含了这一段,所以你不需要再在程序中写的是这一段。

而double x; x=sqrt(6.25);的意思是:准备一个double类型的储物柜,命名为x。然后以double类型的6.25为原料,通过sqrt()机器加工,并把所获得的double类型的产出品放入储物柜x。
简单地说,这一句是调用,调用sqrt()函数。

热心网友 时间:2024-12-05 23:57

这种数是带小数部分的数字。
原型描述了函数到编译器的接口,也就是说,它将函数返回值的类型以及参数的类型和数量告诉编译器,因此编译器知道应该检索多少个字节以及如何解释它们。如果没有这些信息编译器将只能进行猜测,而编译器是不会这样做的。
函数原型可以帮助编译器完成许多工作,对程序员可以极大的降低程序出错的几率,可确保以下几点:
编译器正确处理函数的返回值;
变意思检查使用的参数数目、参数类型是否正确。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
做鼻小柱用什么材料好? 谁有visio2003版 WIN7 64位啊,有的话发个连接 中山东区怎样坐车去珠海 ...忘记了ID密码,苹果官网发来一个这样的网址,请问怎么操作? 苹果id被锁定26天后可以重设密码 快手发作品配的说说大全 四年级语文爬山虎的脚教案 工作井内有哪些设备 南方电网检查井内设有排管吗 安装电缆施工 cupbored什么意思 甄子震这个名字好不好 8p换完电池屏幕按压有水波纹 邮政银行转入余额宝每天有限额吗 明天对象第一次带我去他家,面对一个女强人的老婆婆,我第一次去,我该... 与三角眼婆婆如何相处?强势的女强人向来独当一面,作为儿媳该如何应对... 婆婆是个典型的女强人啊~工作狂啊~ 人也特别严厉~送什么礼物好~ 香... 婆婆是个女强人送什么生日礼物好呢 婆婆是个女强人,什么他都要以她的意见做主,公公就是个口无遮拦的婆婆... 我和婆婆住在一起,婆婆是个女强人类型女人,我个性也很强,两个个性都... 婆婆是个女强人,有一儿一女,作为媳妇的我,觉得无法处理好婆媳关系,难 ... 如何和女强人型的婆婆相处? 梦见蟑螂成群爬身上 平菇瘦肉汤的做法步骤图,平菇瘦肉汤怎么做 怎么在百度百科建东方大健康这个词条啊? 我们是一家医院,想做百度健康,应该怎么做? 键盘上的@怎么打上去? 请问怎么才能看完整版的龙归天下 跪求唐诗宋词……常见的就不要了…要唯美 最近打开IE,IE浏览器,菜单栏全变成黑色的了是什么问题? 征途的仙战怎么玩?属性技能? 征途手机版仙怎么加点 仙属性怎么加点 征途转生召唤+仙怎么玩?人物属性点怎么加?地仙好还是天仙好? 征途手游仙怎样加属性点,是精神还是智力? 征途仙怎么玩厉害 征途手游扇子仙,怎么加属性点?电脑玩的全加精神。手机版,怎么加?? 征途仙的详细技能加点 征途里的仙怎么练级啊 ! KTV唱歌技巧和五种常见音 天空的天加上一撇念什么 天字多一撇念什么 物理变化和物理性质有什么区别 怎么样区分物理变化和物理性质 膝盖滑囊炎最佳治疗方法 膝盖滑囊炎如何冶疗效果好? 所有碱的化学式,越多越好 iphone4充电的时候使用为什么触屏不灵,按键乱窜 泰安生产纸元宝厂家有多少在哪里 安阳附近哪里有生产元宝纸厂家 京东的品牌机用的cpu不是散片吗?不是都说京东的都是正品行货?