深入理解C语言中的函数返回值机制 | 您所在的位置:网站首页 › 没有返回值的函数不能被使用 › 深入理解C语言中的函数返回值机制 |
返回值与函数
在C语言中,函数的返回值是指函数执行后所返回的结果。函数的返回值可以是任意数据类型,可以是整数、字符、浮点数、指针等等。 目录 什么是返回值函数返回值的定义如何使用函数的返回值手动退出和缺省返回值函数中的 return 语句不应该返回局部变量的地址 什么是返回值函数的返回值是函数调用结束后返回给调用者的结果,类似于一个特殊的参数。在函数执行结束后,会将返回值传递给调用者,函数的返回值可以是任意的类型。 函数返回值的定义定义函数的返回值可以使用关键字 return,语法如下: return在函数中, 可以为算术表达式、变量、常量或者函数执行的返回值。注意:函数的返回值的类型必须与函数声明的返回值类型相同。 int fun1(void) //函数声明 { printf("hello hu~"); return 12; //返回值 12,类型为 int } int main(void) { int a = fun1(); //将函数 fun1() 的返回值 12 赋值给变量 a printf("%d\n", a); //输出变量 a 的值,为 12 return 0; } 如何使用函数的返回值在函数调用中,返回值可以直接赋值给变量,并可以在程序中使用。如: int a = fun1();其中,fun1() 的返回值将被赋值给变量 a。应注意返回值的类型必须与变量 a 的类型一致。 手动退出和缺省返回值在函数没有返回值时,可以为函数定义一个 void 返回类型。函数不返回任何值,可以使用返回语句 return 退出函数的执行。 void fun2(void) { printf("hello hu~"); return; } int main(void) { fun2(); return 0; }如果函数没有返回语句,函数会自动返回一个默认的返回值。通常情况下,该返回值是一个未初始化的值。 函数中的 return 语句return 语句用于在函数回到调用程序之前退出函数,并返回一个值。return 语句使用的语法如下: return ;该语句的返回值可以是数值、变量、表达式或其他实现了函数返回值类型的语句。 int fun3(void) { int x = 100; return x; } int main(void) { int n = fun3(); printf("函数返回值:%d\n", n); return 0; } 不应该返回局部变量的地址函数的本地变量仅与函数本身的生命周期关联,如果从函数返回指向本地变量的指针,则在调用程序试图使用指针时,运行时错误可能会发生。指向局部变量的指针在函数返回时被释放,是不安全的。应该避免返回指向本地变量或参数的指针。 int* fun4(void) { int x = 100; return &x; //错误,返回局部变量的地址 } int main(void) { int* p = fun4(); printf("%d", *p); //错误,指向局部变量的指针已经被释放 return 0; }以上是关于返回值与函数的基本内容,希望能对大家有所帮助! |
CopyRight 2018-2019 实验室设备网 版权所有 |