首页 > 编程语言 > 详细

C语言中的返回值

时间:2019-03-01 11:11:02      阅读:146      评论:0      收藏:0      [点我收藏+]

              *C语言中的返回值* 

| 例子1

错误代码演示:

int* getX(){
     int x = 1;
        
     return &x;
}

说明:方法内部的局部变量会在方法被调用之后,被销毁,即:他的存储空间会被释放。所以像这个例子中的做法不会报错但是不建议,因为x的地址到了方法外面就不好使了。

那么如果程序中我们就需要这样做的时候因该怎么办呢?

方法是将x定义为静态的,即:static int x = 1;因为静态变量跟全局变量一样,程序运行期间都不会被销毁,存储空间在程序运行期会一直存在,所以就算方法调用之后该变量

的地址任然有效。

下面是正确的代码:

int* getX(){
    static int x = 1;

    return &x;
}

 

C语言中的返回值

原文:https://www.cnblogs.com/NULL-ROOT/p/10455203.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!