文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>函数返回的地址是本地变量

函数返回的地址是本地变量

时间:2010-11-21  来源:orochi_cgj

function returns address of local variable


int *screenCenter( int width,int height)
{
     int wh[2];
     int cxScreen, cyScreen ;
     cxScreen = GetSystemMetrics (SM_CXSCREEN) ;
     cyScreen = GetSystemMetrics (SM_CYSCREEN) ;
     //int width=800,height=600;

     wh[0]=cxScreen/2-width/2;
     wh[1]=cyScreen/2-height/2;
     return wh;
      
}


int wh[2]是个局部变量,它的空间是在堆栈中分配的
当你从这个函数返回以后,这段空间里的内容很有可能不再是你想要的了


解决方法:
   1,static int wh[2];

   2,你把改数组作为第3个参数传进去。
       void screenCenter( int width, int height, int * wh)
       {
             ...
       }

   3,改成全局变量(不提倡)

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载