当前位置: 首页 > news >正文

网站建设公司使用图片侵权使用者有无责任西峡微网站建设

网站建设公司使用图片侵权使用者有无责任,西峡微网站建设,手机网站解析,公司推广策划方案目录 C/C语言 函数调用的工作原理#xff1a; 函数调用一般分为两个部分#xff1a; 缺省参数#xff1a; 缺省参数的分类#xff1a; 全缺省参数 半缺省参数 注意事项#xff1a; 缺省参数与C语言的调用参数对比#xff1a; 函数重载#xff1a; 函数重载… 目录 C/C语言 函数调用的工作原理 函数调用一般分为两个部分 缺省参数  缺省参数的分类  全缺省参数  半缺省参数  注意事项 缺省参数与C语言的调用参数对比 函数重载 函数重载的工作原理 函数重载的分类  C/C语言 函数调用的工作原理 在讲诉缺省参数和函数重载之前我们首先要了解一下C语言/C的 函数调用的工作原理。 函数调用一般分为两个部分 函数声明函数定义 函数声明主要是写在头文件中而函数定义则写在.c或.cpp的源文件中并且函数定义使用包含头文件的方式对头文件进行连接。 而后通过Linux的翻译工作原理我们可以知道编译器在执行代码之前会执行四个步骤分别是预处理、编译、汇编、链接。 其中在预处理阶段函数定义中包含的头文件会将头文件的内容完全展开并复制在定义代码的上方。 其次在链接阶段函数定义中的代码会变成一串机器代码以便编译器进行执行而这一串机器代码在形成的过程中会将这一大串代码的首个元素的地址发送到一共特点的函数中最后这个函数同样会形成一个地址发送到函数声明中由函数声明调用。 也就是说函数调用的工作原理其实是 函数声明------(中间函数地址)----中间函数------(函数定义的首元素地址)------函数定义代码 且需要注意一点的是没有函数定义也就不会产生函数定义的代码即使有函数声明也无法使用函数的调用 缺省参数  缺省参数通俗来讲就是默认参数在函数调用的时候给予调用的参数一个默认值当没有给予这个参数数值时就调用这个默认值进行函数的运算或者执行函数。 void Func(int a 0) {coutaendl; } int main() {Func(); // 没有传参时使用参数的默认值Func(10); // 传参时使用指定的实参 return 0; }缺省参数的分类  全缺省参数  void Func(int a 10, int b 20, int c 30){couta aendl;coutb bendl;coutc cendl;} 半缺省参数  void Func(int a, int b 10, int c 20){couta aendl;coutb bendl;coutc cendl;} 注意事项 需要注意的是缺省参数的设置是从右往左而非从左往右且缺省参数必须是连续设置中间不能突然断掉就如图下面代码所示 //下面代码是错误的 void Func(int a 10, int b, int c 20){couta aendl;coutb bendl;coutc cendl;} 同时还需要注意在使用新参数覆盖缺省参数时也必须连续覆盖而不能跳过覆盖 void Func(int a 5, int b 10, int c 20){couta aendl;coutb bendl;coutc cendl;} int main() {Func(); //正确的Func(10); //正确的Func(1,2); //正确的Func(1,2,3); //正确的Func(1,,2); //不正确的Func(,2,3); //不正确的 return 0; }最后 需要注意缺省参数最好在声明中出现如果想要定义中也出现最好函数定义部分的缺省参数必须和声明中的缺省参数保持一致 //a.hvoid Func(int a 10);// a.cppvoid Func(int a 20){}// 注意如果声明与定义位置同时出现//恰巧两个位置提供的值不同那编译器就无法确定到底该用那个缺省值。 缺省参数与C语言的调用参数对比 如下代码所示当函数调用时没有使用缺省参数则使用Func()和Func(10)会发生报错问题而使用了缺省参数后 空出的部分或者说没有使用数值的部分默认使用了缺省参数这就是缺省参数和普通调用参数的不同之处 void Func(int a 5, int b 10, int c 20){couta aendl;coutb bendl;coutc cendl;} int main() {Func(); Func(10); return 0; }函数重载 函数的一种特殊情况C允许在同一作用域中声明几个功能类似的同名函数这 些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同常用来处理实现功能类似数据类型 不同的问题。  简单来说函数重载允许使用相同的函数名但不同的是内部的参数必须不一样  函数重载的工作原理 上文讲诉过函数在调用时在链接的阶段会访问到中间函数而中间函数的内部可能会有多个函数的地址而链接编译器则会通过函数的名字来寻找他所对应的函数从而找到函数定义的地址 而C语言中函数不能同名的原因也是如此连接编译器会分不清楚到底那个是它需要的地址。 但是c就不会因为在c的默认规则中每输入一共函数这个函数就会被编译器默认的在内部修改名字所以就不会有着函数名字重复的冲突了  函数重载的分类  #includeiostream using namespace std;// 1、参数类型不同 int Add(int left, int right) {cout int Add(int left, int right) endl;return left right; } double Add(double left, double right) {cout double Add(double left, double right) endl;return left right; }// 2、参数个数不同 void f() {cout f() endl; } void f(int a) {cout f(int a) endl; }// 3、参数类型顺序不同 void f(int a, char b) {cout f(int a,char b) endl; } void f(char b, int a) {cout f(char b, int a) endl; }int main() {Add(10, 20);Add(10.1, 20.2);f();f(10);f(10, a);f(a, 10);return 0;}
http://www.zqtcl.cn/news/521264/

相关文章:

  • 电影网站建设模板从传播的角度
  • 北京建网站的公司广州冼村和猎德村哪个最有钱
  • 成都网站建设有限公司济南j建设网
  • 一家网站建设公司需要什么资质互联网网站模块
  • 网站开发php支付接口网站平台建设缴纳什么税
  • 百度文库推广网站庆云网站seo
  • 全网通网站wordpress 按点击调用热门文章
  • 添加网站栏目的步骤网站需求分析怎么做
  • 做网站用那一种语言最好武邑网站建设价格
  • 哈尔滨网站制作招聘互动的网站
  • 专业网站建设品牌网站建设基础课件
  • 自学网站编程网站建设银行北京冬奥会纪念币发行时间
  • 个人网站备案需要盖章吗做网站用什么颜色好
  • 在线制作论坛网站做网站开发团队
  • 2017年网站建设工作总结dhru商城网站建设
  • 建设网站需要申请深圳的网站建设的公司
  • 教育类的网站案例门户网站建设推广
  • 网站建设公司哪家比较好外贸网站建设公司价格
  • 做网站大概价格网站备案填写
  • 网站建设容易出现的问题网站建设学习网公司有哪些
  • 做网站的准备什么com域名
  • 百度资料怎么做网站赣州有没有做网站的
  • 网站上地图怎么做的福建省晋江市建设局网站
  • 休闲咖啡厅网站开发目标站内推广的方法和工具
  • 东莞做营销型网站怎样利用网站做引流
  • 国际1688网站网络平台宣传费用
  • 免费网站自助建站18款禁游戏黄app入口
  • 网站建设要经历哪些步骤?wordpress主题king
  • 个人定制网站外贸免费网站建设
  • ASP网站建设实训报告总结宜昌本地网站建设