首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

strcpy函数中return address ;想问一下这个address是栈指针?该怎么解决

2012-02-08 
strcpy函数中return address 想问一下这个address是栈指针??char*strcpy(char*strDest,constchar*strSrc)

strcpy函数中return address ;想问一下这个address是栈指针??
char   *strcpy(char   *strDest,   const   char   *strSrc);
{
        assert((strDest!=NULL)   &&   (strSrc   !=NULL));//   2分
        char   *address   =   strDest;//   2分
        while(   (*strDest++   =   *   strSrc++)   !=   ‘\0’   )//   2分
              NULL   ;  
        return   address   ;//   2分
}

char   *strcpy(char   *strDest,   const   char   *strSrc);
{
        assert((strDest!=NULL)   &&   (strSrc   !=NULL));//   2分
        char   *address   =   strDest;//   2分
        while(   (*strDest++   =   *   strSrc++)   !=   ‘\0’   )//   2分
              NULL   ;  
        return   address   ;//   2分
}

return   address   ;想问一下这个address是栈指针?
如果不是那是什么样??

[解决办法]
你传进去的是什么指针返回的就是什么指针
[解决办法]
我的意思是
在函数内部定义的char *address
address 应该是一个栈的指针
如果返回一个栈的指针是不是有问题??
一直不明白这是怎么回事??

[解决办法]
address 是局部变量,它的空间在栈中,但return address;只是返回它的值而已,有什么问题
上面可以等同下面的代码

char *strcpy(char *strDest, const char *strSrc);
{
assert((strDest!=NULL) && (strSrc !=NULL));// 2分
char *address = strDest;// 2分
while( (*address ++ = * strSrc++) != ‘\0’ )// 2分
NULL ;
return strDest;// 2分
}

热点排行