zoukankan      html  css  js  c++  java
  • 函数返回局部变量的问题

    1.函数可以返回局部变量

    当函数的局部变量作为函数的返回值时,其实是不知道是谁(是程序?)会自动生成一个变量的副本即拷贝作为函数的返回值,而原有的局部变量将被销毁。

    注意函数不可以返回局部变量的地址或者某个指针,以为当函数运行完了(这里改咋说),系统会回收这块地址,因此这个地址里面 的东西也就没有意义了。

    静态变量可以返回指针。

    2.

    int a[] = {1, 2};

    return a;

    此时也会返回指针a的一个拷贝,若a的地址值为0x002345FC,则0x2345FC是能够成功返回的。当return执行完成后,a就要被销毁,也就是0x002345FC所指向的内存被回收了。如果这时候在函数外面,比如int p=*a;去地址0x002345FC取值,那得到的结果肯定是不对的。

    返回局部变量的引用也是同样的道理吼吼吼。

    学习自:http://www.cnblogs.com/Jezze/archive/2012/02/06/2340686.html

  • 相关阅读:
    app分析报告试验
    NABCD模式试验
    课堂练习
    学生管理系统测试计划及测试矩阵
    图书管理系统活动,时序图
    图书借阅测试用例UML图
    风险分析
    需求规格说明说
    PM的定义跟功能说明模块
    需求分析-NABCD
  • 原文地址:https://www.cnblogs.com/Cherrylalala/p/5049477.html
Copyright © 2011-2022 走看看