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

西安专业的网站设计费用网址模板建站

西安专业的网站设计费用,网址模板建站,城乡和建设部建造师网站,wordpress 文章投票1.引入 学习指针的⽬的是使⽤指针解决问题&#xff0c;那什么问题&#xff0c;⾮指针不可呢&#xff1f; 例如&#xff1a;写⼀个函数&#xff0c;交换两个整型变量的值。 ⼀番思考后&#xff0c;我们可能写出这样的代码&#xff1a; #include <stdio.h> void Swap1(int…

1.引入

  学习指针的⽬的是使⽤指针解决问题,那什么问题,⾮指针不可呢?
  例如:写⼀个函数,交换两个整型变量的值。
 ⼀番思考后,我们可能写出这样的代码:
#include <stdio.h>
void Swap1(int x, int y)
{int tmp = x;x = y;y = tmp;
}
int main()
{int a = 0;int b = 0;scanf("%d %d", &a, &b);printf("交换前:a=%d b=%d\n", a, b);Swap1(a, b);printf("交换后:a=%d b=%d\n", a, b);return 0; }
当我们运⾏代码,我们发现其实没产⽣交换的效果,这是为什么呢? 调试⼀下,试试呢?
  我们发现在main函数内部,创建了a和b,a的地址是0x00cffdd0,b的地址是0x00cffdc4,在调⽤Swap1函数时,将a和b传递给了Swap1函数,在Swap1函数内部创建了形参x和y接收a和b的值,但是x的地址是0x00cffcec,y的地址是0x00cffcf0,x和y确实接收到了a和b的值,不过x的地址和a的地址不⼀样,y的地址和b的地址不⼀样,相当于x和y是独⽴的空间,那么在Swap1函数内部交换x和y的值,⾃然不会影响a和b,当Swap1函数调⽤结束后回到main函数,a和b的没法交换。Swap1函数在使⽤的时候,是把变量本⾝直接传递给了函数,这种调⽤函数的⽅式我们之前在函数的时候就知道了,这种叫传值调⽤。
  结论:实参传递给形参的时候,形参会单独创建⼀份临时空间来接收实参,对形参的修改不影响实参。所以Swap是失败的了。

2.具体应用

  我们现在要解决的就是当调⽤Swap函数的时候,Swap函数内部操作的就是main函数中的a和b,直接将a和b的值交换了。那么就可以使⽤指针了,在main函数中将a和b的地址传递给Swap函数,Swap函数⾥边通过地址间接的操作main函数中的a和b,并达到交换的效果就好了。
#include <stdio.h>
void Swap2(int*px, int*py)
{int tmp = 0;tmp = *px;*px = *py;*py = tmp;
}
int main()
{int a = 0;int b = 0;scanf("%d %d", &a, &b);printf("交换前:a=%d b=%d\n", a, b);Swap1(&a, &b);printf("交换后:a=%d b=%d\n", a, b);return 0; }
我们可以看到实现成Swap2的⽅式,顺利完成了任务,这⾥调⽤Swap2函数的时候是将变量的地址传递给了函数,这种函数调⽤⽅式叫:传址调⽤。
传址调⽤,可以让函数和主调函数之间建⽴真正的联系,在函数内部可以修改主调函数中的变量;所以未来函数中只是需要主调函数中的变量值来实现计算,就可以采⽤传值调⽤。如果函数内部要修改主调函数中的变量的值,就需要传址调⽤。

3.strlen的模拟实现

  库函数strlen的功能是求字符串⻓度,统计的是字符串中 \0 之前的字符的个数。

函数原型如下:

size_t strlen ( const char * str );
参数str接收⼀个字符串的起始地址,然后开始统计字符串中 \0 之前的字符个数,最终返回⻓度。 如果要模拟实现只要从起始地址开始向后逐个字符的遍历,只要不是 \0 字符,计数器就+1,这样直到 \0 就停⽌。
参考代码如下:
int my_strlen(const char * str)
{int count = 0;assert(str);while(*str){count++;str++;}return count;
}
int main()
{int len = my_strlen("abcdef");printf("%d\n", len);return 0; }

http://www.yayakq.cn/news/427841/

相关文章:

  • 网站导航效果酒店网站的建设
  • 建筑建设网站建设陵水网站建设价格
  • 网站建设项目组工作总结做哪类网站比较赚钱
  • 宝安设计网站建设商丘网站建设设计
  • asp.net做电商网站页面设计专做品牌的网站
  • 建德网站seo成都兼职建设网站
  • 网站开发类型手机 网站开发软件有哪些
  • 响应式网站要多久上海网页制作费用
  • 代刷网网站建设郑州网络推广团队
  • 用html制作个人网站微信小程序上线流程
  • seo刷网站落实20条优化措施
  • 外贸精品网站建设俄文网站商城建设
  • 天津网站优化哪家快北京西站列车时刻表最新
  • 营销型企业网站建设的基本原则是常州建网站
  • 深圳网站建设单位专业服务网页制作
  • 任县城乡建设局网站建设企业网站都需要啥
  • 深圳网站制作公司流程图商业机构的网站是什么
  • 天门市网站建设seo推广计划是什么
  • 营销网站做的好的公司济南百度竞价
  • 网站模块报价博敏 网站开发
  • 网站建设网络公司做网站服务好
  • 网站服务器租用4t多少钱一年啊微信如何注册小程序
  • 如何注册一个网站域名备案网站建设 字体版权
  • 南通网站的优化百度首页 百度一下
  • 门户网站开发平台wordpress 描述插件
  • 网站建设外贸广州网站的地图要怎么做
  • 优秀地方门户网站系统广州招聘网最新招聘
  • 儿童衣服刘涛做代言那个是什么网站兰州关键词快速上首页排名
  • 效果好企业营销型网站建设开发seo网站推广多少钱
  • Gzip 网站 能够压缩图片吗巴州区建设局网站