带参数的无返回值(void)函数如何返回处理结果?(附代码)

科技研究猿

2019-05-01 22:55信息安全工程师,科技领域创作者
关注

昨天有读者问到一个问题,不论是否理解有误姑且先将本文发出来。

在软件开发过程中有一种很常见的编程方法,就是即使将参数传给无返回值的void函数也能实现对原始参数值的修改,这句话到底说的什么意思,且看示例。

void函数如何返回值

一个例子:普通带参数的函数如何做返回值?(附代码)

这是一个带参数的普通函数,作用是统计字符串中的有效字符数('\0'不算有效字符),返回值即为字符串中的字符总数,类型为int,具体代码入下:

普通带参函数返回值例子

代码中的问题是非常关键的,感兴趣的读者可以尝试在函数中声明一个变量做返回值,看看会出什么错误!

另一个例子:无返回值的带参void函数如何做返回值?(附代码)

void函数是没有返回值的,那么对于传入的参数在计算处理之后,怎么把结果返回呢?这里给出两种最常用的方式:指针和引用!这也是软件开发中实际使用的方式。

仍然以计算字符串中有效字符总数为例,代码入下:

void函数如何返回处理结果

其实主要采用的方式就是在主程序中直接声明一个变量,然后把这个变量的引用或者指针作为参数直接传递给void函数,当void函数在做处理时,直接将结果写到引用参数或者指针指向的主函数变量,这样就间接实现了“返回值”

总结

在需要调用子函数做处理时,void函数利用引用或者指针来“返回”处理结果是程序员经常用到的方式,主要原因是:一可以让代码更简洁,二是能减少内存空间的占用。

希望大家两种方式都能掌握,因为很多情况下,尤其是涉及对象返回时,第一种方式的优越性就体现出来了。当然,第二种在void函数中间接“返回”处理结果的方式也要掌握,它是入门程序员和程序员之间的区别之一。

举报/反馈