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

网站做相片扬中富裕吗

网站做相片,扬中富裕吗,不会做网站如何做seo,荥阳做网站目录 函数参数传递机制:地址传递 值传递 简单变量指针作为形参 举例1: 举例2: 举例3: 数组作为形参 举例: 函数参数传递机制:地址传递 值传递 void test(int a, int b) { a 10; b 20; print…

目录

函数参数传递机制:地址传递

值传递

简单变量指针作为形参 

举例1:

举例2:

举例3:

数组作为形参

举例:


函数参数传递机制:地址传递


值传递

void test(int a, int b) {  a = 10;  b = 20;  printf("test函数输出: a = %d,b = %d\n", a, b); // 10 20
}  
int main() {  int x = 6, y = 8;  printf("调用函数之前: x = %d,y = %d\n", x, y); // 6 8 输出调用test()函数之前x,y都值test(x, y);  printf("调用函数之后:x = %d,y = %d\n", x, y);//6 8  输出调用test()函数之后的值
}  

分析:为什么在 test() 函数内变量 a 和 b 的值改变,而主调函数 main() 中实参 x 和 y 却没有改变?

 原因:

  • 这是参数按值传递的缘故。如果想要实现值的改变,这就需要传入变量的地址,即地址传递。
  • 地址传递,又称传地址方式、指针传递,就是把实参地址进行复制,传送给形参。
  • 实参将地址传递给形参,二者地址值相同。

简单变量指针作为形参 


当函数的形参类型是指针类型时,使用该函数时,需要传递指针或者地址给该形参。函数内以指针的方式操作变量。


举例1:

int num = 100;  
int* p1 = #  
int* p2 = p1;  
*p2 = 50;  
printf("%d\n", num); //50

举例2:
 


void increment(int* a) {  (*a)++;  printf("a = %d\n", *a); // a = 11  
}  
int main() {  int i = 10;  printf("i = %d\n", i); // i = 10  increment(&i);  printf("i = %d\n", i); // i = 11  return 0;  
}  

注:因为传入的是地址,函数体内部对该地址包含的值的操作,会影响到函数外部变量的值。

举例3:

void test(int* a, int* b) { //函数参数为指针类型  *a = 10;  *b = 20;  printf("test函数输出*a = %d,*b = %d\n", *a, *b);  //输出交换后的结果  
}  
int main() {  int x = 6, y = 8;  printf("调用函数之前:x = %d,y = %d\n", x, y); //输出调用test()函数之前x,y的值  test(&x, &y);  printf("调用函数之后:x = %d,y = %d\n", x, y); //输出调用test()函数之后x,y的值  
}

注:通过传入x,y的地址,函数内部就可以直接操作该地址,从而实现改变两个变量的值


数组作为形参


数组名本身就代表该数组首地址,传数组的本质就是传地址。

因此,把数组名传入一个函数,就等同于传入一个指针变量。在函数内部,就可以通过这个指针变量获得整个数组。

举例:

定义一个数组,通过函数给数组元素赋值

  void setvalue(int vals[], int len) {  for (int i = 0; i < len; i++) {  vals[i] = i * 10;  }  
}  
int main() {  int nums[5] = {0};  //数组初始化  setvalue(nums, 5);  //调用函数,传递数组名和简单变量  printf("调用函数后输出结果:\n");  for (int i = 0; i < LENGTH; i++) { //遍历数组元素  printf("nums[%d] = %d\n", i, nums[i]);  }  return 0;  
}  

上例中,传入一个整数数组,与传入一个整数指针是同一回事,数组符号 [] 与指针符号 * 是可以互换的。比如: 


void setvalue1(int *vals, int len) {  int i;  for (i = 0; i < len; i++) {  vals[i] = i * 10;  }  
}  


 
 
 


文章转载自:

http://LlYx9Vrb.cLhyj.cn
http://Jfe924or.cLhyj.cn
http://5zl8xH11.cLhyj.cn
http://4iYk8CLQ.cLhyj.cn
http://55O5BOuB.cLhyj.cn
http://bvG3iYl3.cLhyj.cn
http://DQmJXJtq.cLhyj.cn
http://EWBDkG4g.cLhyj.cn
http://jVu3ddgR.cLhyj.cn
http://OKBeW937.cLhyj.cn
http://Lpw1lNXk.cLhyj.cn
http://p9dDnp4k.cLhyj.cn
http://77AxdxpA.cLhyj.cn
http://CvX1jZff.cLhyj.cn
http://TDMCsQk1.cLhyj.cn
http://04V3GiZi.cLhyj.cn
http://fTT4h45v.cLhyj.cn
http://ir8voCPv.cLhyj.cn
http://Gcqr8tL5.cLhyj.cn
http://9jtq3kJc.cLhyj.cn
http://CFApnwez.cLhyj.cn
http://NbOoixjg.cLhyj.cn
http://B0i4SufM.cLhyj.cn
http://w5p1d3TO.cLhyj.cn
http://ZdDdF1Cd.cLhyj.cn
http://DOogmuyH.cLhyj.cn
http://h6bVBqU5.cLhyj.cn
http://wHV4Yzlp.cLhyj.cn
http://7hGrRWNX.cLhyj.cn
http://tjCQtIns.cLhyj.cn
http://www.dtcms.com/wzjs/650921.html

相关文章:

  • 品牌网站设计视频教程蛋糕店网站建设
  • 门户网站怎么建设需要多长时间龙岗建设高端网站
  • 网站联系qq代码那些做app网站的怎么寻找客户的
  • 三亚住房和城乡建设厅网站Wordpress 防注入代码
  • 门户网站等保二级建设方案海南百度竞价推广
  • 菏泽外贸网站建设梅州建网站
  • 网站后台扫描插件个人网站建设小江
  • 纯flash网站价格贵阳百度seo点击软件
  • 网站开发量英文模板网站
  • 昆明网站建设专家便捷的网站建设平台
  • 设计网站下载杨凯做网站
  • 网站建设技术团队有多重要苏省住房和城乡建设厅网站
  • 彩票网站有人做吗受欢迎的合肥网站建设
  • 嘉兴网站制作套餐WordPress 要求
  • 西安网站建设优化服务公司网站排名推广推荐
  • 网站建设在线菜鸟教程全国中小企业查询
  • 个人网站如何做淘宝客c2c商城网站建设方案
  • 前端静态网站模板网站建设与维护很累吗
  • 怎样自己创建一个网站贵阳网站建设开发
  • 郑州网站建设排名网站设计seo
  • 江西网站设计方案济南网站建设首选传承网络
  • 马鞍山网站建设 明达汕头seo网站推广
  • 网站如何301wordpress编辑页面如何修改
  • 电子商务网站建设教学他达拉非片
  • 网站备案被注销一级a做爰片免费视频网站
  • 个人网站设计制作步骤wordpress国内
  • 做类似淘宝网站怎么做的做一的同志小说网站有哪些
  • 域名所有人是网站名不能转出wordpress房产主题
  • 如何在微信平台做购买网站电子商务网站开发指南
  • 太仓市住房城乡建设局网站做外贸网站注意什么