前言
本文主要介绍的是C语言return,return是函数返回值,本文来聊一聊C语言函数中return的一些使用技巧,分享给大家。希望对于广大读者学习C语言有一些帮助。
return是什么?
return其英文含义就是返回,用在函数中,退出当前函数.这个想必都知道,分两种情况:
NO.1 函数不带返回值
NO.2 函数带返回值
对于带返回值函数返回,其语法为 return 表达式;返回值可以是一些几种情况:
- 一个常数。
- 一个变量,普通变量和指针变量,结构体变量皆可。
- 计算式,例如三目表达式是,求和表达式等。
- 调用函数,例如函数递归。
- 变量的地址
ps:返回值的类型须与函数返回值类型一致,如不一致,编译器会自动做类型转换,这里容易出现类型转换的错误.
return 运作机制
首先需要了解函数调用是如何工作的。当调用一个函数时,会发生两件事:
- 当前函数的执行暂停。
- 调用的函数执行。
这就是所谓的的控制权转移。当调用一个函数时,程序的控制从调用函数转移到被调用函数。return语句将控制权返回到前一个调用它的函数。该函数将从暂停的地方继续执行。关于函数栈的解释可以参见号内文章:<<C语言函数的调用原理不理解?深入浅出通俗易懂,一文读懂函数栈>>
return易错情况
warning C4715: “gameOver”: 不是所有的控件路径都返回值,这个是新手常见问题。例如如下代码,在判断游戏状态的时候,写一个查找返回的函数,很多新手容易忽略未找到的情况。
总结一下,因为容易忽略,其实也是初学者可能不太注意的一些地方,所以在此总结一下:
- 不带返回值的函数,可不加return语句
- 带返回值的函数,注意返回值的类型与函数返回值类型一致
- void函数,return更适合做一些防御性编程,用来提早结束函数的