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

网站域名年龄网站开发百度百科

网站域名年龄,网站开发百度百科,宁波网站开发公司怎么样,网络文化经营许可证和icp的区别函数 函数是一个完成特定功能的代码模块#xff0c;其程 序代码独立#xff0c;通常要求有返回值#xff0c;也可以是 空值。一般形式如下: 数据类型函数名称( 形数说明 ) {语句序列#xff1b;return[(表达式)];}函数的声明就是指函数原…函数 函数是一个完成特定功能的代码模块其程 序代码独立通常要求有返回值也可以是 空值。一般形式如下: 数据类型函数名称( 形数说明 ) {语句序列return[(表达式)];}函数的声明就是指函数原型其中形式参数声明可以缺省声明的变量名称但类型不能缺省例如 double Power(double x, int n); double Power(double,int); //缺省写法但这种写法只能在单独一句话函数声明时使用不能在函数实现时缺省函数的类型不为 void 的时候有返回值这时要写 return 语句反之无函数要先声明再调用不能放在 main 函数 后面声明如果不想把大段的函数全部放在main函数的上方那么用简短的语句在main函数上方进行声明然后在main函数后面再实现也可以例如 #includestdio.hdouble power(double x, int n);//先进行声明在后面实现也可以int main() {printf(2的2次方为:%lf\n,power(3,3));return 0; }double power(double x, int n)//函数具体的实现 {double product 1;int i;for (i0; in; i){product * x;}return product; }以上代码格式为 函数先声明再调用然后实现 的顺序 函数的参数传递 函数之间的参数传递方式 全局变量复制传递方式地址传递方式 全局变量 全局变量就是在函数体外说明的变量它们在程序中的每个函数里都是可见的全局变量一经定义后就会在程序的任何地方可见。函数调用的位置不同程序的执行结果可能会受到影响。不好维护不建议使用。例子 #includestdio.hint x 3, n 2;//定义全局变量x,n double power();int main() {printf(%d的%d次方为:%lf\n,x,n,power());//这里无需再传参了return 0; }double power()//这里不要参数也行了 {double product 1;int i;for (i0; in; i){ //这里x和n直接使用全局变量product * x;}return product; }复制赋值传递方式 调用函数将实参传递给被调用函数被调用函数将创建同类型的形参并用实参初始化形参是新开辟的存储空间因此在函数中改变形参的值不会影响到实参见代码2复制传参例子代码1 #includestdio.hdouble power(double x, int n);int main() {int x 2;int n 2;printf(2的2次方为:%lf\n,power(x,n)); //把x,n作为实参赋值给形参x,nreturn 0; }double power(double x, int n)//形参x,n {double product 1;int i;for (i0; in; i){product * x;}return product; }输出结果 2的2次方为:4.000000代码2 #includestdio.hvoid exchange(int a, int b);int main() {int c 2;int d 3;exchange(c,d);printf(c %d, d %d\n,c,d);//在main函数中打印return 0; }void exchange(int a, int b) {int t;t a;a b;b t; }输出结果 c 2, d 3从上面这个结果可以看出实参 c 和 d 并没有发生交换但是这具体是什么原因呢 答案是形参和实参在内存中的存储空间是不一样的形参是另外开辟的存储空间当 exchange 函数被调用时c 的值被复制赋值下同到形参 a 中同样的d 的值被复制到形参 b 中也就是形参 a 和 b 中存的都是实参 c 和 d 的副本而在 exchange 函数内部只会交换形参 a 和 b 的值不会影响到实参 c 和 d。 如果想要实质性的交换需用指针PS交换指针的值-地址没有用除非直接在被调用函数中打印交换地址过后的 *a 和 *b 如果只是想看一下打印结果可以把输出函数写到被调用函数交换函数中去这里举一个用指针进行实质交换的例子 #includestdio.hvoid exchange(int * a, int * b);//形参都为指针int main() {int c 2;int d 3;exchange(c,d); //实参为 c 和 d 的地址printf(c %d, d %d\n,c, d); //在这里打印return 0; }void exchange(int * a, int * b) {int t;t *a;*a *b;*b t; // * 取传入地址对应的值然后通过 t 进行交换}输出结果 c 3, d 2地址传递方式 按地址传递实参为变量的地址而形参为同类型的指针被调用函数中对形参的操作将直接改变实参的值被调用函数对指针的目标操作相当于对实参本身的操作例子就是上个代码 复制传递和地址传递的适用场景 在C语言中参数传递可以通过值传递复制传递或引用传递地址传递来实现。选择何种方式取决于对函数的需求和要求。 复制传递值传递 使用复制传递时函数接收到的是实际参数的副本而不是实际参数本身。这意味着在函数内部对形式参数进行的修改不会影响到实际参数的值。 复制传递适用于以下情况 当函数不需要修改实际参数的值时。当实际参数是基本数据类型如整数、浮点数等或小型结构体时复制传递的开销相对较小。 示例代码中的exchange函数使用了复制传递因为我们只是想在函数内部交换参数的值并不需要修改实际参数的值。 地址传递引用传递 使用地址传递时函数接收到的是实际参数的地址可以通过指针操作实际参数的值。在函数内部对形式参数的修改会影响到实际参数的值。 地址传递适用于以下情况 当需要修改实际参数的值时。当实际参数是大型结构体或数组时避免复制大量的数据。 示例代码中的修改后的exchange函数使用了地址传递我们通过传递指针来操作实际参数的地址从而实现变量值的交换。 总而言之在选择参数传递方式时需要根据具体的需求和情况来决定。如果需要修改实际参数的值或者实际参数是大型结构体或数组时地址传递通常是更好的选择。而对于不需要修改实际参数的值或者实际参数是基本数据类型或小型结构体时复制传递是更简单和高效的方式。 函数的传参 - 数组 全局数组传递方式复制传递方式实参为数组的指针形参为数组名本质是一个指针变量地址传递方式实参为数组的指针形参为同类型的指针变量对于字符数组来说传参的时候只穿数组名也行因为程序可以根据 ‘\0’ 字符串结束符来判断结束而 int 类型等类型的数组还必须要传进去数组元素个数否则程序不知道数组的末尾在哪。
http://www.yutouwan.com/news/434350/

相关文章:

  • wordpress用户发文网络营销推广seo
  • 大学生期末作业建设网站营销策划咨询机构
  • 网站开发设计过程商丘网吧什么时候恢复营业
  • 做设计下素材有比较好的网站公司介绍模板图片
  • 网站建设的品牌双鸭山住房和城乡建设局网站
  • 海南网站建设公司drupal joomla wordpress 带后台管理
  • 版纳网站建设seo自学教程seo免费教程
  • python自学网站睢县做网站的公司
  • 蓝韵网络专业网站建设怎么样学校网站设计及代码
  • 旅游网站建设的目标是什么意思罗山网站建设
  • 国外做储物柜的网站网络规划与设计实训报告
  • 作图在线制作专业seo优化推广
  • 一流的网站建设哪家好电商网站开发分析
  • 全国加盟网站建设discuz可以做门户网站吗
  • 网站空间运行挂机宝如何登录公众号平台
  • 020模版网站制作做网站空间商需要办什么手续
  • 网站生成app要多少钱wordpress聚合页
  • 做网站的软件叫81什么来着班级网页制作素材
  • 专业网站制作公司招聘前端外包网站
  • 羊毛网站建设视频一个平台维护三天正常吗
  • 医院网站建设政策免费网页申请注册
  • 手机网站设计与规划开封seo公司
  • 邯郸哪里制作网站爱客crm多少钱
  • 安康做网站wordpress插件带seo
  • 广州市网站建设制作费用wordpress安装对搜索
  • 企业网站推广策略网站营销方案模板
  • wap网站开发和自适应无网站做百度推广
  • 网站建设月总结盲盒小程序搭建
  • 电商网站设计制作网站数据库好建设吗
  • 互联网建站公司有哪些网页型网站