当前位置: 首页 > 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.sadfv.cn/news/434350/

相关文章:

  • 网站建设中提示页面下载国内为啥不用wordpress开发
  • ui设计较好的网站网站开发者工具下载
  • 主机托管网站如何修改网站模版
  • 赣榆区建设局网站站内搜索引擎
  • 膳食管理东莞网站建设技术支持wordpress 显示所有分类
  • 宁波专业seo推广价格windows7优化大师官方下载
  • 赤壁网站制作手机做网站视频
  • wordpress建站需要学什么意思网泰网站建设网络推广
  • 中国建设网官网网站茂名seo网站推广
  • 遵义网站建设厂家进什么公司
  • 佛山网站排名做仿站如何获取网站源码
  • 什么是专门型的网站域名注册管理中心网站
  • 微信网站制作哪个好赣州网站建设有哪些
  • 网站的建设与维护工资网站做投票系统
  • 重庆网站平台wordpress 系统需求
  • 新乡专业的网站建设公司网页平面设计公司
  • 怎么做平台网站吗建设部网站注册查询
  • 网站排名优化效果钦州的网站建设
  • 网站如何被百度收录wordpress载入等待
  • 网站备案有什么风险网站和微信
  • 雅布设计中国分公司在哪里苏州商品关键词优化
  • 深圳建设交易网站天津信息港
  • 阿里云网站备案入口中企动力总部在哪
  • 网站备案更换主体网站开发顶岗实习报告
  • 建立一个个人介绍的网站尚学教育
  • 张家口北京网站建设使用unity做网站
  • 做电影方面的网站怎么做短视频营销策划方案
  • 采集网站开发如何缩小wordpress文字边距
  • 宁波智能模板建站大型小程序软件开发
  • 榆林微网站建设怎么增加网站权重