原文:浅谈C语言函数返回值--局部变量和局部变量地址

下面的内容是在C专家编程里面看到的,摘录于此。 在C语言中,局部变量的作用域只在函数内部,在函数返回后,局部变量的内存就会被释放。如果函数只是返回局部变量,那么这个局部变量会被复制一份传回被调用处。但是如果函数返回的是局部变量的地址,那么就会报错,因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放,这样指针指向的内容就是不可预料的内容,程序就会出错。准确的来说,函数不能通过返回指向栈内存 ...

2020-08-02 18:42 0 598 推荐指数:

查看详情

局部变量作为函数返回值

char *strA() {   char str[] = "hello word";   return str; } 上述程序有什么问题? 简单的来说,str是个局部变量地址,作为返回值,有可能被提前回收。 那么局部变量可以作为函数返回值吗,这个问题不能一概而论。局部变量 ...

Sun Mar 11 07:01:00 CST 2018 0 1037
c语言 局部变量返回值 问题

一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量,不涉及地址,程序不会出错。但是如果返回的是局部变量地址(指针)的话,程序运行后会出错。因为函数 ...

Fri Nov 22 03:01:00 CST 2013 2 3836
Python函数返回值、作用域和局部变量

一、函数返回值   说到返回值,相信大家肯定都认识,没错,就是return。   所谓返回值可以这样理解:函数外部的代码要想获取函数的执行结果,就可以在函数里用return语句把结果返回。   那具体怎么用呢?接着往下看:   注意:   1、函数在执行过程中只要遇到 ...

Mon Feb 05 08:55:00 CST 2018 0 1929
函数局部变量用作函数返回值

函数局部变量用作返回值时,会生成一个局部变量的拷贝用作返回值,之后局部变量会被系统回收,函数不能返回局部变量地址,因为如果返回局部变量地址,系统回收后,指针指向的内容就无意义了,但是对于静态变量也可以返回其指针。 #include "stdio.h" int ...

Tue Feb 07 07:15:00 CST 2012 0 4081
C++函数返回局部变量

目录 1. 不可返回局部变量 1.1 函数不能返回指向栈内存的指针 2 可返回局部变量 2.1 返回局部变量本身 2.2 常量 2.3 静态局部变量 2.4 堆内存中的局部变量 2.5 返回值 ...

Tue Apr 14 23:44:00 CST 2020 0 652
C++函数返回局部变量

函数不能返回指向栈内存的指针 原因:返回值是拷贝局部变量的作用域为函数内部,函数执行结束,栈上的局部变量会销毁,内存释放。 可返回局部变量: 1. 返回局部变量本身 View Code 2.常量 ...

Wed Jul 05 01:42:00 CST 2017 0 5411
C++函数返回局部变量

转自:https://www.cnblogs.com/fanhaha/p/7117766.html 原因:返回值是拷贝局部变量的作用域为函数内部,函数执行结束,栈上的局部变量会销毁,内存释放。 可返回局部变量: 1. 返回局部变量本身 2.常量 ...

Mon Dec 18 22:19:00 CST 2017 0 1513
函数调用和局部变量

转载:http://www.cnblogs.com/ZJAJS/archive/2013/03/08/2949162.html 函数调用和局部变量 要研究函数的调用过程,先来看下面的一段代码: 对于 z = Add(1, 2); 这一句 ...

Fri May 19 23:04:00 CST 2017 0 1230
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM