温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言的指针怎么定义

发布时间:2021-11-22 14:59:55 来源:亿速云 阅读:143 作者:iii 栏目:互联网科技

这篇文章主要介绍“C语言的指针怎么定义”,在日常操作中,相信很多人在C语言的指针怎么定义问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言的指针怎么定义”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

 函数参数传递的不可逆性
当我们需要频繁地使用某一段代码来计算三角形面积时,那么可以将实现这一功能的代码片段打包成一个函数,提供给其他代码调用。如“float triangle_area(float base, float height)”,在这个函数中,“triangle_area”为函数名,它是一个返回“float”类型的函数,而括号中的“float base”和“float height”正是用来分别将需要求解的三角形的底边长和高传递进函数的参数,我们称为“形式参数”或者“传递参数”。其他代码需要使用求解三角形的面积时,只需要调用“triangle_area”即可。一旦这个函数被调用之后,程序立即会跳转到三角形面积求解的代码中去进行计算,计算完成后,会以“float”的形式将三角形的面积返回出来。所谓返回值,即函数运算完成之后返回结果的一个数值,一个函数最多只能返回一个返回值,我们只需要在函数内部定义一个与函数类型一样的变量,将运算结果存储在里面,并且使用“return”关键词即可将其返回。关于三角形面积求解的函数,如图6-1-1所示。
                           
C语言的指针怎么定义
图6-1-1 三角形面积函数
 
回顾完成上面内容之后,趁着记忆比较新鲜,再来用C语言来解决一个问题,假设小明和小丽是一对好朋友,小明手里有一杯焦糖玛奇朵,小丽手里有一杯双拼奶茶,他们各自喝了半杯,都想尝一下对方手中饮料的味道,本来交换一下是一件很简单的事情,但是他们又不希望各自的杯子被对方喝到,那么只能交换杯子中的饮料了,请帮他们设计一个函数,用来交换杯子中的饮料。
这其实是一个非常简单的变量内容交换问题,只需要再去找一个杯子,把小明的饮料倒在里面,然后把小丽的饮料倒给小明,最后将第三个杯子中原本小明的饮料倒给小丽就可以解决,我们可以很简单地来完成这个函数,如图6-1-2所示。

C语言的指针怎么定义
图6-1-2 交换杯子中的饮料

小明和小丽看了这个算法之后,他们都不想动手来倒这杯饮料,就这样僵持着,他们想到了一个办法,交给小明的姥姥来完成这个交换饮料的功能,那么此时,小明的姥姥就相当于这个饮料交换的特定模块,我们可以将其联想成一个C语言中的函数。小明的饮料和小丽的饮料传给姥姥时,就相当于将传递参数传给函数。那么因此我们可以写出如图6-1-3中的代码。

C语言的指针怎么定义
图6-1-3 变量交换函数

仔细观察一下图6-1-3中代码的输出值,我们惊讶地发现,函数并没有达到我们想要的结果,小明杯子中的饮料和小丽杯子中的饮料还是没有交换,仔细阅读了多次代码,没有发现任何问题。这个确实不是代码的问题引起的。借用上面这个故事,有一个关于函数调用的重要特性大家一个要注意,即函数传递参数是单向传递的,无论函数中对形式参数如何改变,在调用函数处传递参数的值完全不受影响,这个一定要注意。而函数唯一可以将结果传递给主函数的途径就只有返回值这一个途径,但是函数的返回值又是唯一的。这就类似于姥姥看到了两个娃娃在把杯子中的饮料倒腾来倒腾去不卫生,不肯交换完成一样。因此对于上面这个问题我们是否就束手无策了?
继续我们的故事,正当此时,路过的老王叔叔过来了,看到大家都属愁眉苦脸的,上去询问情况,了解情况后,王叔发现,这两个杯子一模一样,并且每个杯子内部是有内胆的,只需要将内胆拧下来,交换一下即可,最后大家都开开心心,各回各家了。我们可以写出如图6-1-4中的代码。

C语言的指针怎么定义
图6-1-4 利用指针交换变量中的数值

到此,关于“C语言的指针怎么定义”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI