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

杭州平台网站建设免费领云服务器

杭州平台网站建设,免费领云服务器,网站界面设计的表现,抖音团购小程序代理函数 函数是一个完成特定功能的代码模块#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.zqtcl.cn/news/252282/

相关文章:

  • 网站建设专业学什么建材 团购 网站怎么做
  • 电器工程东莞网站建设wordpress虚拟资源下载源码
  • 无限个网站虚拟空间网站运行维护
  • 宝思哲手表网站关于计算机网站建设的论文
  • uc投放广告网站要自己做吗dw制作企业网站
  • 山东网站制作南京软件外包公司
  • 铁岭建设银行网站网站验证码原理
  • 做网站需要什么专业方向的员工钱多网站
  • 网站建设合同要存档几年7星彩网站开发
  • 网站建设好后 如何验收什么网站可以做护考题
  • 网站安全怎么做wordpress代币插件
  • 吉林网站建设电话龙华网站建设专业定制企业
  • 个人导航网站怎么备案js调用wordpress文章列表
  • 网站微信推广方案衡水外贸网站建设
  • 怎么打造自己的网站如何做自已网站
  • 美容美发网站模板wordpress适合优化吗
  • 网站开发的著作权和版权沧州市做网站价格
  • 优客逸家网站源码酒吧装修
  • 深圳网站制作的公司怎么样开工作室做网站怎样找资源
  • 大连城乡建设局网站seo编辑招聘
  • 网站建设意见怎么在中国移动做网站备案
  • 做内贸哪个网站找客户网络外包
  • 古玩网站建设意义钟山县住房和城乡建设局网站
  • 网站开发微信公众号自定义菜单规则网站建设
  • 营销网站建设工作教育培训wordpress主题
  • 温州地区做网站公司如何注册新公司
  • 做的网站怎样评估价值全国信息公示系统官网
  • 外国网站签到做任务每月挣钱1g内存vps 开电影网站
  • 营销型网站案例易网拓互联购物
  • 河南企业网站制作微信小程序如何做